Problème avec "inscription terminée, veuillez vous connecter"
Zakarya93
Messages postés
1026
Statut
Membre
-
Zakarya93 Messages postés 1026 Statut Membre -
Zakarya93 Messages postés 1026 Statut Membre -
Bonjour,
Une simple question, pourquoi quand je m'inscrit sur mon site pour faire un test, à chaque fois par exemple pour vérifier que php va empecher un utilisateur de se connecter avec un même pseudo ou une même adresse email, j'ai bien les messages d'erreurs en rouge mais en dessous j'ai le "Inscription terminée, vous pouvez vous connecter" qui s'affiche quand même et les données ont été enregistrées dans ma base de données malgré que j'ai juste mis le pseudo ??
et enfin, pourquoi j'ai ces lettres : é
--> Veuillez saisir un password
Veuillez vous décrire en quelques lignes
Cette adresse email existe déjÃ
avez vous oublié votre password ?
Inscription terminée, vous pouvez vous connecter
Merci d'avance ! :)
Une simple question, pourquoi quand je m'inscrit sur mon site pour faire un test, à chaque fois par exemple pour vérifier que php va empecher un utilisateur de se connecter avec un même pseudo ou une même adresse email, j'ai bien les messages d'erreurs en rouge mais en dessous j'ai le "Inscription terminée, vous pouvez vous connecter" qui s'affiche quand même et les données ont été enregistrées dans ma base de données malgré que j'ai juste mis le pseudo ??
et enfin, pourquoi j'ai ces lettres : é
--> Veuillez saisir un password
Veuillez vous décrire en quelques lignes
Cette adresse email existe déjÃ
avez vous oublié votre password ?
Inscription terminée, vous pouvez vous connecter
Merci d'avance ! :)
A voir également:
- Problème avec "inscription terminée, veuillez vous connecter"
- Se connecter à gmail sur téléphone - Guide
- Wetransfer gratuit sans inscription - Guide
- Twitter inscription - Guide
- Comment connecter chromecast à la télé - Guide
- Vinted inscription - Guide
2 réponses
Pour les lettres as tu penser a mettre dans ton head
<meta charset="UTF-8" >
en faite les caractere speciaux vienne du fait que les é n'existe pas de base en html/php il faut les " inclures" avec la commande précedente
Je vulgarise mais bon c'est l'idée
Pour le reste si tu peux nous fournir ton code ca aiderais un peux :)
<meta charset="UTF-8" >
en faite les caractere speciaux vienne du fait que les é n'existe pas de base en html/php il faut les " inclures" avec la commande précedente
Je vulgarise mais bon c'est l'idée
Pour le reste si tu peux nous fournir ton code ca aiderais un peux :)
Bonjour,
Ton code semble correct ....
Mais.. au cas où .. as tu fais des ECHO de tes variables pour t'assurer de ce qu'elles contiennent ?
Par contre, il n'est pas nécéssaire d'utiliser cette variable "test" ... il suffit de regarder si $errors contient quelque chose ou non.
Cordialement,
Jordane
Ton code semble correct ....
Mais.. au cas où .. as tu fais des ECHO de tes variables pour t'assurer de ce qu'elles contiennent ?
// le temps des tests
echo "<br> --debug : errors=<br>";
print_r($errors);
if(!empty($errors)){
foreach($errors as $error) {
echo "<div class='error'>".$error."</div>";
}
}
// le temps des tests
echo "<br> --debug : test =".$test ;
if (!$test){
inscrire_utilisateur($pseudo,$password,$email,$sexe,$apropos);
die('Inscription terminée, vous pouvez vous <a href=\'index.php?page=login\'>connecter</a>');
}else{
echo "<br> TEST = 1 ! L'inscription n'a pas pu aboutir ! ";
}
Par contre, il n'est pas nécéssaire d'utiliser cette variable "test" ... il suffit de regarder si $errors contient quelque chose ou non.
$errors=array();
if(empty($pseudo)){
$errors[] ="Veuillez saisir un pseudo";
}
if (empty($password)){
$errors[] ="Veuillez saisir un password";
}
if($password != $repeatpassword) {
$errors[] = "Vos deux password doivent être identiques";
}
if(!filter_var($email,FILTER_VALIDATE_EMAIL)){
$errors[] = "Votre adresse email n'est pas correcte";
}
if(empty($apropos)){
$errors[] = "Veuillez vous décrire en quelques lignes";
}
if(pseudo_existe($pseudo) == 1) {
$errors[] = "Ce pseudo n'est pas disponible";
}
if(email_existe($email) == 1) {
$errors[] = "Cette adresse email existe déjà <br> avez vous oublié votre <a href='#'>password ?</a>";
}
if(count($errors)>0) {
foreach($errors as $error){
echo "<div class='error'>".$error."</div>";
}
}else{
inscrire_utilisateur($pseudo,$password,$email,$sexe,$apropos);
echo "Inscription terminée, vous pouvez vous <a href='index.php?page=login'>connecter</a>";
}
Cordialement,
Jordane
@Shinegans
J'en fais depuis plusieurs années ... et mes méthodes ne sont pas toujours les plus optimales non plus :-p
Et puis.. l'idée de la variable test n'est pas mauvaise en soit .. mais comme il a déjà une autre variable qui permet de savoir s'il existe des erreurs ou non, cela devient superflu.
Après.. il n'existe pas qu'une seule façon de faire .. et il existe peut être encore mieux ....(mais je n'ai pas le temps de m'y pencher :-) )
J'en fais depuis plusieurs années ... et mes méthodes ne sont pas toujours les plus optimales non plus :-p
Et puis.. l'idée de la variable test n'est pas mauvaise en soit .. mais comme il a déjà une autre variable qui permet de savoir s'il existe des erreurs ou non, cela devient superflu.
Après.. il n'existe pas qu'une seule façon de faire .. et il existe peut être encore mieux ....(mais je n'ai pas le temps de m'y pencher :-) )
Sinon register.php :
<h1>Inscription</h1> <?php if (!isset($_POST['submit'])) { ?> <form method="POST" action=""> <label for='sexe'>Sexe</label> <select name="sexe"> <?php echo isset($sexe)?'<option value='.$sexe.'>'.$sexe.'</option>':""; ?> <?php echo $sexe != 'Homme' ?'<option value="Homme">Homme</option>':""; ?> <?php echo $sexe != 'Femme' ?'<option value="Femme">Femme</option>':""; ?> </select><br /><br/> <label for="pseudo">Votre pseudo : </label> <input type="text" name ="pseudo" value='<?php echo isset($pseudo) ? $pseudo :""; ?>'><br /> <label for="password">Votre password : </label> <input type="password" name ="password"><br /> <label for="repeatpassword">Repetez votre password : </label> <input type="password" name ="repeatpassword"><br /> <label for="email">Veuillez saisir votre email : </label> <input type="text" name ="email" value='<?php echo isset($email) ? $email :""; ?>'><br /> <label for="apropos">A propos de vous </label> <textarea rows="6" cols="30" name="apropos"><?php echo isset($apropos) ? $apropos : ""; ?></textarea><br /><br /> <input type="submit" value="S'inscrire" name="submit"> </form> <?php } else { $sexe = htmlspecialchars(strip_tags($_POST['sexe'])); $pseudo = htmlspecialchars(strip_tags($_POST['pseudo'])); $password = htmlspecialchars(strip_tags($_POST['password'])); $repeatpassword = htmlspecialchars(strip_tags($_POST['repeatpassword'])); $email = htmlspecialchars(strip_tags($_POST['email'])); $apropos = htmlspecialchars(strip_tags($_POST['apropos'])); if(empty($pseudo)) { $errors[] ="Veuillez saisir un pseudo"; } if (empty($password)) { $errors[] ="Veuillez saisir un password"; } if($password != $repeatpassword) { $errors[] = "Vos deux password doivent être identiques"; } if(!filter_var($email,FILTER_VALIDATE_EMAIL)) { $errors[] = "Votre adresse email n'est pas correcte"; } if(empty($apropos)) { $errors[] = "Veuillez vous décrire en quelques lignes"; } if(pseudo_existe($pseudo) == 1) { $errors[] = "Ce pseudo n'est pas disponible"; } if(email_existe($email) == 1) { $errors[] = "Cette adresse email existe déjà <br> avez vous oublié votre <a href='#'>password ?</a>"; } if(!empty($errors)) { foreach($errors as $error) { echo "<div class='error'>".$error."</div>"; } } inscrire_utilisateur($pseudo,$password,$email,$sexe,$apropos); die('Inscription terminée, vous pouvez vous <a href=\'index.php?page=login\'>connecter</a>'); } ?>Sinon register.php :
<h1>Inscription</h1> <?php if (!isset($_POST['submit'])) { ?> <form method="POST" action=""> <label for='sexe'>Sexe</label> <select name="sexe"> <?php echo isset($sexe)?'<option value='.$sexe.'>'.$sexe.'</option>':""; ?> <?php echo $sexe != 'Homme' ?'<option value="Homme">Homme</option>':""; ?> <?php echo $sexe != 'Femme' ?'<option value="Femme">Femme</option>':""; ?> </select><br /><br/> <label for="pseudo">Votre pseudo : </label> <input type="text" name ="pseudo" value='<?php echo isset($pseudo) ? $pseudo :""; ?>'><br /> <label for="password">Votre password : </label> <input type="password" name ="password"><br /> <label for="repeatpassword">Repetez votre password : </label> <input type="password" name ="repeatpassword"><br /> <label for="email">Veuillez saisir votre email : </label> <input type="text" name ="email" value='<?php echo isset($email) ? $email :""; ?>'><br /> <label for="apropos">A propos de vous </label> <textarea rows="6" cols="30" name="apropos"><?php echo isset($apropos) ? $apropos : ""; ?></textarea><br /><br /> <input type="submit" value="S'inscrire" name="submit"> </form> <?php } else { $sexe = htmlspecialchars(strip_tags($_POST['sexe'])); $pseudo = htmlspecialchars(strip_tags($_POST['pseudo'])); $password = htmlspecialchars(strip_tags($_POST['password'])); $repeatpassword = htmlspecialchars(strip_tags($_POST['repeatpassword'])); $email = htmlspecialchars(strip_tags($_POST['email'])); $apropos = htmlspecialchars(strip_tags($_POST['apropos'])); if(empty($pseudo)) { $errors[] ="Veuillez saisir un pseudo"; } if (empty($password)) { $errors[] ="Veuillez saisir un password"; } if($password != $repeatpassword) { $errors[] = "Vos deux password doivent être identiques"; } if(!filter_var($email,FILTER_VALIDATE_EMAIL)) { $errors[] = "Votre adresse email n'est pas correcte"; } if(empty($apropos)) { $errors[] = "Veuillez vous décrire en quelques lignes"; } if(pseudo_existe($pseudo) == 1) { $errors[] = "Ce pseudo n'est pas disponible"; } if(email_existe($email) == 1) { $errors[] = "Cette adresse email existe déjà <br> avez vous oublié votre <a href='#'>password ?</a>"; } if(!empty($errors)) { foreach($errors as $error) { echo "<div class='error'>".$error."</div>"; } } inscrire_utilisateur($pseudo,$password,$email,$sexe,$apropos); die('Inscription terminée, vous pouvez vous <a href=\'index.php?page=login\'>connecter</a>'); } ?>et pour UTF 8 faut le mettre dans le php aussi
dans tes erreurs tu rajoute une ligne du type $test=1;
et tu fait
if ($test !==1) // donc il sera rentrer dans aucun script d'erreur
{
inscrire_utilisateur($pseudo,$password,$email,$sexe,$apropos);
die('Inscription terminée, vous pouvez vous ...
}