Formulaire de connexion
Fermé
adamsjilal
adamsjilal
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
adamsjilal
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
A voir également:
- Formulaire de connexion php avec pdo
- Formulaire de connexion php pdo - Meilleures réponses
- Formulaire de connexion html ✓ - Forum - HTML
- Formulaire de connexion php pdo ✓ - Forum - PHP
- Formulaire de connexion php - Forum - PHP
- Formulaire inscription/connexion ✓ - Forum - Programmation
- Formulaire de connexion ✓ - Forum - PHP
6 réponses
technoid
Modifié par technoid le 15/03/2016 à 18:34
- Messages postés
- 2
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 15 mars 2016
Modifié par technoid le 15/03/2016 à 18:34
C'est tout dans le même fichier? il est où ton session_start()?
Avec html5 tu peux facilement contrôler et empêcher qu'un input soit vide. Pour cela, ajoute le mot "required" à la fin.
P.S :
Avec html5 tu peux facilement contrôler et empêcher qu'un input soit vide. Pour cela, ajoute le mot "required" à la fin.
<form action="./include/php/login.php" method="post" name="login_form">
<input type="text" id="username" name="username" placeholder="Nom d'utilisateur" required><br/>
<input type="password" id="password" name="password" placeholder="Mot de passe" required><br/>
<button type="submit" value="Submit">Login</button><br/>
</form>
P.S :
<h2>Access control system</h2>
jordane45
16 mars 2016 à 10:21
- Messages postés
- 35761
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 29 juin 2022
16 mars 2016 à 10:21
Bonjour,
Déjà... prend l'habitude de mettre le maximum de php AVANT le html.
Cela rend plus facile le debogage du code par la suite....
Récupères également proprement les variables AVANT de les utiliser.
Pour cela tu peux utliser des !empty ou isset avec l'écriture Ternaire...
Peux tu essayer ceci :
</code>
PS: Tu utilises l'ancienne extension Mysql....
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
je t'invite fortement à passer à PDO ou à Mysqli.
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
Déjà... prend l'habitude de mettre le maximum de php AVANT le html.
Cela rend plus facile le debogage du code par la suite....
Récupères également proprement les variables AVANT de les utiliser.
Pour cela tu peux utliser des !empty ou isset avec l'écriture Ternaire...
Peux tu essayer ceci :
<code php> <?php //Affichage des erreurs PHP error_reporting(E_ALL); //Connexion à la BDD require_once 'fonctions/connection_BDD.php'; //récupération "propre" des variables $login=!empty($_POST['login']) ? $_POST['login'] : NULL; $pass=!empty($_POST['pass']) ? $_POST['pass'] : NULL $erreurs = array(); if(isset($_POST['submit'])){ if(!$login){$erreurs[] = "Veuillez renseigner le champs login";}; if(!$pass){$erreurs[] = "Veuillez saisir votre mot de passe";}; if(verie_couple_login_password($login,$pass)==0){ $erreurs[] = '<div class="erreur">Pseudo ou password invalid</div>'; }else{ $_SESSION['login']=$login; $_SESSION['pass']=$pass; header("location:index.php"); } } } ?> <strong></strong> <div class="contenu"> <h2>Controle System accese </h2> <form method="post" action=""> <label for="login">login:</label> <input type="text" name="login" /><br /> <label for="pass">Password :</label> <input type="password" name="pass" /> <br /> <button class="btn btn-primary" type="submit" name="submit">Connexion</button> </form> <?php if(!empty($erreurs)) { foreach($erreurs as $erreur) { echo"<div class='erreur'>".$erreur."</div>"; } } ?> you don't have a count?<a href="interface.php?page=incription" title="pour les personnes n'ayant pas un compte">Cliquez ici</a> <div align="center"></div> </div>
</code>
PS: Tu utilises l'ancienne extension Mysql....
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
je t'invite fortement à passer à PDO ou à Mysqli.
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
adamsjilal
17 mars 2016 à 10:00
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
17 mars 2016 à 10:00
merci jordan mais c'est toujours le meme problem
jordane45
17 mars 2016 à 10:08
- Messages postés
- 35761
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 29 juin 2022
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
17 mars 2016 à 10:08
- Le même problème...C'est à dire ?
- Tu es passé à la PDO comme je te l'ai conseillé ?
- Tu as testé ta requête DIRECTEMENT dans ta BDD pour voir si elle fonctionne ??
- Tu es passé à la PDO comme je te l'ai conseillé ?
- Tu as testé ta requête DIRECTEMENT dans ta BDD pour voir si elle fonctionne ??
adamsjilal
20 mars 2016 à 09:10
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
20 mars 2016 à 09:10
Bonjour,
le probleme c est pas la connexion a la base mais c pblm de code
normalement la fonction Mysql_num_rows retourn une valeur entiere
en parcourant si ellle trouve une ou le nom est egal a celui poster par le formulaire et le champs password de la base est egal a celui poster aussi par le formaulair dans ce cas elle devrai dir qu elle a trouver a une personnee et qu'elle charger la partie du code ou le condition verifier. mais lorsque je dit ainsi:
else{
if(verie_couple_login_password($login,$pass)==0)//la fonction verifiant un utilisateur bien identifier
{
session_start();
$_SESSION['login']=$login;
$_SESSION['pass']=$pass;
header("location:index.php");
}else{
echo '<div class="erreur">erreur de password ou pesudo</div>';
}
normalement lorsque le resultats de la focntions verifi_couple_login_password($login, $pass)==1), je devrai acceder mon espace membre mais ce n'est pas le cas. c'est le cas contraire que j'y arrive acceder l 'espace membre. c'est a dire lorsque je saisie des fauses information il me permet d'acceder l'espace memebre et lorsque je saisie des informations apropriés adequat il me di que pass ou login incorrecte:
voici la fonction qui permet de verifier les couple logine password:
function verie_couple_login_password($login,$pass)
{
$pass=sha1($pass);
$resulte=mysql_query("SELECT nom, password FROM utilisateur WHERE nom='$login' AND password='$pass'") or die("erreur");
$rows=mysql_num_rows($resulte);
return $rows;
}
le probleme c est pas la connexion a la base mais c pblm de code
normalement la fonction Mysql_num_rows retourn une valeur entiere
en parcourant si ellle trouve une ou le nom est egal a celui poster par le formulaire et le champs password de la base est egal a celui poster aussi par le formaulair dans ce cas elle devrai dir qu elle a trouver a une personnee et qu'elle charger la partie du code ou le condition verifier. mais lorsque je dit ainsi:
else{
if(verie_couple_login_password($login,$pass)==0)//la fonction verifiant un utilisateur bien identifier
{
session_start();
$_SESSION['login']=$login;
$_SESSION['pass']=$pass;
header("location:index.php");
}else{
echo '<div class="erreur">erreur de password ou pesudo</div>';
}
normalement lorsque le resultats de la focntions verifi_couple_login_password($login, $pass)==1), je devrai acceder mon espace membre mais ce n'est pas le cas. c'est le cas contraire que j'y arrive acceder l 'espace membre. c'est a dire lorsque je saisie des fauses information il me permet d'acceder l'espace memebre et lorsque je saisie des informations apropriés adequat il me di que pass ou login incorrecte:
voici la fonction qui permet de verifier les couple logine password:
function verie_couple_login_password($login,$pass)
{
$pass=sha1($pass);
$resulte=mysql_query("SELECT nom, password FROM utilisateur WHERE nom='$login' AND password='$pass'") or die("erreur");
$rows=mysql_num_rows($resulte);
return $rows;
}
jordane45
20 mars 2016 à 12:00
- Messages postés
- 35761
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 29 juin 2022
20 mars 2016 à 12:00
Je repete.... AS TU TESTE DIRECTEMENT TA REQUÊTE DANS TA BDD ?
adamsjilal
20 mars 2016 à 15:58
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
20 mars 2016 à 15:58
je vien de tester ca a marche la requete
adamsjilal
16 mars 2016 à 08:18
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
16 mars 2016 à 08:18
ma session_start se trouve dans la page index a laquelle j fait l'appel des fichier de connexion et l'inscription
choukie12
16 mars 2016 à 08:25
- Messages postés
- 55
- Date d'inscription
- vendredi 11 mars 2016
- Statut
- Membre
- Dernière intervention
- 27 juin 2018
16 mars 2016 à 08:25
Bonjour,
Tu as une erreur ou rien du tout?
Tu as une erreur ou rien du tout?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
adamsjilal
16 mars 2016 à 08:30
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
16 mars 2016 à 08:30
bonjour choukie12,
non il y a pas d'erreur mais meme si que je saisie les bons identifiants il me dis que password or login incorrect
voila le seul le problem
non il y a pas d'erreur mais meme si que je saisie les bons identifiants il me dis que password or login incorrect
voila le seul le problem
choukie12
Modifié par choukie12 le 16/03/2016 à 08:50
- Messages postés
- 55
- Date d'inscription
- vendredi 11 mars 2016
- Statut
- Membre
- Dernière intervention
- 27 juin 2018
Modifié par choukie12 le 16/03/2016 à 08:50
Si je ne me trompe pas à aucun moment tu mets que :
Donc vu que ton appel DB pour la vérification des logins/mdp se fait avec '' et '' il te renvera toujours faux :)
Faut que tu rajoutes un else avec 'assignation' de la valeur de la variable:
Je pense que c'est ca ton soucis.
Jérémy.
$login=$_POST['login']
$pass=$_POST['pass']
Donc vu que ton appel DB pour la vérification des logins/mdp se fait avec '' et '' il te renvera toujours faux :)
Faut que tu rajoutes un else avec 'assignation' de la valeur de la variable:
if(empty($_POST['login']))
{
$erreurs[] = "Veuillez renseigner le champs login";
}else{
$login=$_POST['login']
}
Je pense que c'est ca ton soucis.
Jérémy.
adamsjilal
20 mars 2016 à 09:15
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
- Messages postés
- 55
- Date d'inscription
- vendredi 11 mars 2016
- Statut
- Membre
- Dernière intervention
- 27 juin 2018
20 mars 2016 à 09:15
Bonjour,
include'fonctions/connection_BDD.php';
if(isset($_POST['submit'])){
$login='';
$pass='';
if(empty($_POST['login']))
{
$erreurs[] = "Veuillez renseigner le champs login";
}else{
$login=$_POST['login'];
}
if(empty($_POST['pass']))
{
$erreurs[] = "Veuillez saisir votre mot de passe";
}else{
$pass=$_POST['pass'];
}
if(!empty($erreurs))
{
foreach($erreurs as $erreur)
{
echo"<div class='erreur'>".$erreur."</div>";
}
j'ai initialisé une chaine de caratere vide dans un premier et j'ai verifier si les champs login et le pass sont vide sinon je declaré le variable login et j'ai affecté les valeurs posté par le formaulaire de la meme chose pour le password
include'fonctions/connection_BDD.php';
if(isset($_POST['submit'])){
$login='';
$pass='';
if(empty($_POST['login']))
{
$erreurs[] = "Veuillez renseigner le champs login";
}else{
$login=$_POST['login'];
}
if(empty($_POST['pass']))
{
$erreurs[] = "Veuillez saisir votre mot de passe";
}else{
$pass=$_POST['pass'];
}
if(!empty($erreurs))
{
foreach($erreurs as $erreur)
{
echo"<div class='erreur'>".$erreur."</div>";
}
j'ai initialisé une chaine de caratere vide dans un premier et j'ai verifier si les champs login et le pass sont vide sinon je declaré le variable login et j'ai affecté les valeurs posté par le formaulaire de la meme chose pour le password
adamsjilal
16 mars 2016 à 09:34
- Messages postés
- 46
- Date d'inscription
- lundi 14 mars 2016
- Statut
- Membre
- Dernière intervention
- 29 avril 2018
16 mars 2016 à 09:34
toujours le meme problem
choukie12
16 mars 2016 à 09:45
- Messages postés
- 55
- Date d'inscription
- vendredi 11 mars 2016
- Statut
- Membre
- Dernière intervention
- 27 juin 2018
16 mars 2016 à 09:45
Peux tu partager ton code, histoire de voir de manière plus clair?
Donc si il te dit password et login incorrect c'est que ta method :
Essaie de remplacer le contenu entier par return 1.
Pour voir si le pb vient pas de ton appel en db.
Donc si il te dit password et login incorrect c'est que ta method :
function verie_couple_login_password($login,$pass)à l'air bancale.
Essaie de remplacer le contenu entier par return 1.
Pour voir si le pb vient pas de ton appel en db.