Problème avec "inscription terminée, veuillez vous connecter"

Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 2 juin 2015 à 13:49
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 2 juin 2015 à 15:15
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 ! :)
A voir également:

2 réponses

Shinegans Messages postés 62 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 23 juin 2015 2
Modifié par Shinegans le 2/06/2015 à 13:54
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 :)
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 13:55
J'ai mis encodage UTF8 mais j'ai "" au dessus de ma page d'inscription c'est bizzare, c'est quand je mets UTF8 sans botom que ça s'enlève ce truc.

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>');
}
?>
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 13:55
J'ai mis encodage UTF8 mais j'ai "ï»?" (? à l'envers) au dessus de ma page d'inscription c'est bizzare, c'est quand je mets UTF8 sans botom que ça s'enlève ce truc.

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>');
}
?>
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 13:59
Niquel j'ai mis <meta charset="UTF-8" > dans mon head index.php ça s'est enlevé ! du coup j'ai toujours ce problème de "inscription terminée"
0
Shinegans Messages postés 62 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 23 juin 2015 2
Modifié par Shinegans le 2/06/2015 à 14:01
il faut que tu mette une condition qui dit que ton message s'affiche que si il n'y a pas d'erreur car la il est prévu pour s'afficher en bas de page quoi qu'il arrive

et pour UTF 8 faut le mettre dans le php aussi
0
Shinegans Messages postés 62 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 23 juin 2015 2
2 juin 2015 à 14:03
tu creer par exemple une variable $test=0;

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 ...
}
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
Modifié par jordane45 le 2/06/2015 à 14:39
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 ?

// 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
0
Shinegans Messages postés 62 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 23 juin 2015 2
2 juin 2015 à 14:40
Comme je l'ai dit je débute j'ai une semaine de php de connaissance alors bon mes methodes sont certainement pas les plus optimal :D
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
2 juin 2015 à 14:42
Encore merci !! sinon j'avais un lien "retournez à la page de connexion" en dessous de la page d'inscription en bleu mais il a disparu du coup j'aimerai le rajouter svp
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649 > Shinegans Messages postés 62 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 23 juin 2015
2 juin 2015 à 14:43
@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 :-) )
0
Shinegans Messages postés 62 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 23 juin 2015 2
2 juin 2015 à 14:44
tu rajoute juste en toute fin un
<a href="urldelapage" >Retourner à la page de connexion </a>
0
Shinegans Messages postés 62 Date d'inscription lundi 1 juin 2015 Statut Membre Dernière intervention 23 juin 2015 2
2 juin 2015 à 14:45
apres tu peux inclure un peux de css pour le positionner parfaitement en bas a droite
0