Aide PhP Rapide (conditions)

Fermé
Floultime - 16 août 2012 à 16:22
 Floultime - 16 août 2012 à 17:34
Bonjour,

J'ai le code suivant :

    if( empty ( $pseudo ) or empty ( $mdp ) or empty ( $email ) )
    {
      echo 'vide';
      exit( header("Location: inscription.php") );
    }


    if( $mdp != $verif )
    {
      echo 'mot de passe';
	   
    }
	
    {
 $sql = "INSERT INTO infos_compte(pseudo,passe,email,parrain,dateinscription,idboutique) VALUES('$pseudo','$mdp','$email','$parrain','$date','')";
 //exécution de la requête SQL:
  $requete = mysql_query($sql) or die( mysql_error() ) ;
 }
  //affichage des résultats, pour savoir si l'insertion a marchée:
  if($requete)
  {
    echo("L'insertion a été correctement effectuée") ;
  }
  else
  {
    echo("L'insertion à échouée") ;
  }


Qui ne fonctionne pas comme je voudrais: je voudrais que le requète ($sql) ne s'applique que si les condtion ne sont pas vérifiés ( si $mdp n'est pas égal $verif ==> Ne rien faire ). Or dans mon script, l'insertion se fait dans tous les cas !

Merci
A voir également:

6 réponses

prypiat_child Messages postés 1343 Date d'inscription vendredi 30 octobre 2009 Statut Membre Dernière intervention 10 avril 2014 272
Modifié par prypiat_child le 16/08/2012 à 16:28
Il ne manquerait pas un "else" tout simplement ?

     if( $mdp != $verif )  
    {  
         echo 'mot de passe';  
    }  
    else 
    {  
         $sql = "INSERT INTO ....  
         $requete = ...
    }  
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
16 août 2012 à 16:27
Bonjour je débute en php mais la requête sql n'est incluse dans aucune condition


                
0
Le problème est que les deux conditions doivent être validés

Merci de votre réponse
0
Tatanos Messages postés 966 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 mai 2016 156
16 août 2012 à 16:43
Salut,

Ajoute une variable a la con dans tes 2 conditions genre : "$Variable = 1;"

Et juste avant ta requete, tu fais un if ( $Variable =! 1 ) {....

Si tu es passé dans une seule de tes deux premières conditions, tu ne passera pas dans celle ci puisque ta variable aura été initialisée à 1
0
Merci
0
J'ai essayé comme ça
$vpseudo = 0 ;
$vmdp = 0 ;
$vpseudomsg = "";
$vmdpmsg = "";

    if( empty ( $pseudo ) or empty ( $mdp ) or empty ( $email ) )
    {
$vpseudomsg = "Veuillez remplir tous les champs" ;
$vpseudo = 1 ;
    }


    if( $mdp != $verif )
    {
      $vmdpmsg = "les mots de passe ne correspondent pas" ;
	   $vmdp = 1 ;
    }
	
   if( $vmdp = 1 OR $vpseudo = 1 )
   {
	   echo $vpseudomsg ;
	   echo $vmdpmsg ;
   }
   else {
 $sql = "INSERT INTO infos_compte(pseudo,passe,email,parrain,dateinscription,idboutique) VALUES('$pseudo','$mdp','$email','$parrain','$date','')";
 //exécution de la requête SQL:
  $requete = mysql_query($sql) or die( mysql_error() ) ;
   }
   
    ?>
   
  <?php
  //affichage des résultats, pour savoir si l'insertion a marchée:
  if($requete)
  {
    echo("L'insertion a été correctement effectuée") ;
  }
  else
  {
    echo("L'insertion à échouée") ;
  }
  
   
  ?>


Mais l'insertion ne se fait pas ( la partie à partir du else est occultée)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 16/08/2012 à 17:30
Salut ...

if(empty($pseudo) OR empty($mdp) OR empty($email) OR empty($verif)) 
{ 
    echo 'Vide'; 
    header("Location: inscription.php"); 
} 

elseif($mdp != $verif) 
{ 
    echo 'Mot de passe incorrect.'; 
} 
  
else 
{ 
    $sql = "INSERT INTO infos_compte(pseudo,passe,email,parrain,dateinscription,idboutique) VALUES('$pseudo','$mdp','$email','$parrain','$date','')"; 

    $requete = mysql_query($sql) or die( mysql_error() ) ; 

    if($requete) 
    { 
        echo 'L\'insertion a été correctement effectuée.'; 
    } 
    else 
    { 
        echo 'L\'insertion à échouée.'; 
    } 
}


Mettez en résolu quand c'est résolu -.- ...
0
$vpseudo = 0 ;
$vmdp = 0 ;
$vpseudomsg = "";
$vmdpmsg = "";

    if( empty ( $pseudo ) or empty ( $mdp ) or empty ( $email ) )
    {
$vpseudomsg = "Veuillez remplir tous les champs" ;
$vpseudo = 1 ;
    }


    if( $mdp != $verif )
    {
      $vmdpmsg = "les mots de passe ne correspondent pas" ;
	   $vmdp = 1 ;
    }
	
   if( $vmdp = 1 OR $vpseudo = 1 )
   {
	   echo $vpseudomsg ;
	   echo $vmdpmsg ;
   }
   else 
   {
 $sql = "INSERT INTO infos_compte(pseudo,passe,email,parrain,dateinscription,idboutique) VALUES('$pseudo','$mdp','$email','$parrain','$date','')";
 //exécution de la requête SQL:
  $requete = mysql_query($sql) or die( mysql_error() ) ;
   }
   
    
   

  //affichage des résultats, pour savoir si l'insertion a marchée:
  if($requete)
  {
    echo("L'insertion a été correctement effectuée") ;
  }
  else
  {
    echo("L'insertion à échouée") ;
  }
  
   ?>
0