Problème de création d'un espace membre PHP
Résolu/Fermé
A voir également:
- Problème de création d'un espace membre PHP
- Espace insécable word - Guide
- Comment liberer de l'espace sur gmail - Guide
- Creation compte gmail - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
5 réponses
Utilisateur anonyme
17 mars 2013 à 21:28
17 mars 2013 à 21:28
Bonjour
<input type="text" id="login" placeholder="Entre ton pseudo..." name="pseudo" />
if ( !empty($_POST['login']) && !empty($_POST['pass']))
Les index qu'on retrouve dans $_POST correspondent aux attributs 'name' des champs et non pas aux attributs 'id'. Il faut donc corriger l'une des deux lignes ci-dessus.
Autres remarques :
Si ton fichier s'appelle cibles.php avec un c minuscule, il faut mettre aussi un c minuscule dans <form action="Cibles.php" method="POST">
Si ça marche en local, tu as toutes les chances que ça ne marche pas en ligne, si l'OS de ton hébergement est sensible à la casse, ce qui est le cas le plus courant.
Il faudrait aussi que tu te décides pour <br>, </br> ou <br />. L'écriture correcte en HTML5 est <br> simplement. <br /> est pour xhtml et </br> est une erreur.
<input type="text" id="login" placeholder="Entre ton pseudo..." name="pseudo" />
if ( !empty($_POST['login']) && !empty($_POST['pass']))
Les index qu'on retrouve dans $_POST correspondent aux attributs 'name' des champs et non pas aux attributs 'id'. Il faut donc corriger l'une des deux lignes ci-dessus.
Autres remarques :
Si ton fichier s'appelle cibles.php avec un c minuscule, il faut mettre aussi un c minuscule dans <form action="Cibles.php" method="POST">
Si ça marche en local, tu as toutes les chances que ça ne marche pas en ligne, si l'OS de ton hébergement est sensible à la casse, ce qui est le cas le plus courant.
Il faudrait aussi que tu te décides pour <br>, </br> ou <br />. L'écriture correcte en HTML5 est <br> simplement. <br /> est pour xhtml et </br> est une erreur.
Bonjour et merci de ta réponse,
Mon C de Cibles.php est bien en majuscule et j'ai arrangé le problème du name et des <br>, mais désormais, lorsque je mets mes bons identifiants, il me dit Pseudo ou mot de passe incorrecte, mais lorsque je mets les mauvais identifiants, aucun message ne s'affiche.
Pourriez-vous m'aidez?
Merci d'avance!
Mon C de Cibles.php est bien en majuscule et j'ai arrangé le problème du name et des <br>, mais désormais, lorsque je mets mes bons identifiants, il me dit Pseudo ou mot de passe incorrecte, mais lorsque je mets les mauvais identifiants, aucun message ne s'affiche.
Pourriez-vous m'aidez?
Merci d'avance!
Utilisateur anonyme
20 mars 2013 à 18:47
20 mars 2013 à 18:47
Autre erreur :
Ce devrait être
Et tu devrais toujours avoir le message 'désolé, il y a une erreur'.
Je suppose que tu as changé ton code par rapport à l'autre jour, peux-tu nous montrer le nouveau code ?
Remarque supplémentaire : je ne trouve pas logique du tout de tester le pseudo dans la requête MySQL et mot de passe dans le code PHP... C'est beaucoup plus simple de faire :
$datapass = $data('pass'); if($pass == $data)
Ce devrait être
if($pass == $datapass)
Et tu devrais toujours avoir le message 'désolé, il y a une erreur'.
Je suppose que tu as changé ton code par rapport à l'autre jour, peux-tu nous montrer le nouveau code ?
Remarque supplémentaire : je ne trouve pas logique du tout de tester le pseudo dans la requête MySQL et mot de passe dans le code PHP... C'est beaucoup plus simple de faire :
$sql = "SELECT * FROM users WHERE login='$login' AND pass='$pass'";
Alors effectivement, j'ai toujours le message pseudo ou mot de passe incorrect.
Voici mes nouveaux codes :
Index :
connexion :
cible :
Voici mes nouveaux codes :
Index :
<DOCTYPE html> <html> <head> <title> Connexion </title> </head> <body> <center> <form action="cible.php" method="POST"> <p> <label for="login"> Ton pseudo : </label> <input type="text" id="login" placeholder="Entre ton pseudo..." name="login" /> </br></br> <label for="pass"> Ton mot de passe : </label> <input type="password" id="pass" placeholder="Entre ton mot de passe..." name="pass" id="pass" /><br/><br/> <input type="submit" value="Se connecter !" /> </p> </form> </center> </body> </html>
connexion :
<?php $DB_HOST ="localhost" ; $DB_LOGIN = "root" ; $DB_PASS = ""; $DB_DATA = "membres" ; mysql_connect ($DB_HOST, $DB_LOGIN, $DB_PASS) or die("Erreur, merci de recommencer svp."); mysql_select_db($DB_DATA) or die ("Erreur, pas de base de données avec ce nom"); ?>
cible :
<?php include('connexion.php'); if ( !empty($_POST['login']) && !empty($_POST['pass'])) { $login = $_POST['login']; $pass = $_POST['pass']; $sql = "SELECT pass FROM membres WHERE login='$login'"; $req = mysql_query($sql) or die (mysql_error()); $data = mysql_fetch_assoc($req) or die (mysql_error()); $datapass = $data['pass']; if($pass == $data) { echo 'Tout est bon, tu es maintenant connecté à mon site web !'; } else { echo 'Pseudo ou mot de passe incorrect!'; } } else { echo 'désolé, tu dois remplir tous les champs !' ; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question