[php] condition if else, toujours la même rép

Bonjour,
voila ce code m'affiche toujours la même réponse : (marche pas)
merci de m'aider !

<?php
			if (
				(isset($_POST['password'])) AND (isset($_POST['email'] ))
				AND (isset($_POST['password2'])) AND (isset($_POST['email2'] ))
				AND ((($_POST['password2']) == ($_POST['password'] )))
				AND ((($_POST['email2']) == ($_POST['email'] )) )
				)
			{
			
				mysql_connect("db198.1and1.fr", "dbo227375794", "sdfsdfds"); // Connexion à MySQL
				mysql_select_db("db227375794"); // Sélection de la base  On est connectés, on peut travailler sur la BDD
			mysql_query("INSERT INTO membres VALUES('',$zsfsf)");
			echo 'its woring!!!';
		} else { echo'marche pas ';}
		?>
		
</div>
Configuration: Windows XP
Firefox 2.0.0.11

14 réponses

  1. Bonsoir,
    un peu de ménage dans les parenthèses et voir si ça va lieux:

    <?php
    if (isset($_POST['password']) AND isset($_POST['email'] )
    AND isset($_POST['password2']) AND isset($_POST['email2'] )
    AND $_POST['password2'] == $_POST['password']
    AND $_POST['email2'] == $_POST['email'])
    {
    mysql_connect("db198.1and1.fr", "dbo227375794", "sdfsdfds"); // Connexion à MySQL
    mysql_select_db("db227375794"); // Sélection de la base On est connectés, on peut travailler sur la BDD
    mysql_query("INSERT INTO membres VALUES('',$zsfsf)");
    echo 'its woring!!!';
    }
    else {
    echo'marche pas ';
    }
    ?>
    1. il manque du code la variable $zsfsf dit moi ou elle est ignisialisée
      1. Merci çane marche toujours pas ...
        Je met l'appel de la page au cas ou :

        <div id="content">
        
        <form method="post" action="inscription.MethodPost.php">
        
        	<table class="inscription">
        		<tr> 
        			<td class="titre" colspan="2"> Formulaire d'inscription </td>
        		</tr>
        		
        		<tr> 
        			<td class="sstitre" colspan="2"> Informations personnelles </td>
        		</tr> 
        		<tr class="ligne"> 	
        			<td class="champ"> Nom : </td>
        			<td> <input type="text" name="nom" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Prénom : </td>
        			<td> <input type="text" name="prenom" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Adresse : </td>
        			<td> <input type="text" name="adresse" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Ville : </td>
        			<td> <input type="ville" name="nom" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Code postal: </td>
        			<td> <input type="text" name="codep"size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Téléphone : </td>
        			<td> <input type="text" name="tel" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Téléphone portable: </td>
        			<td> <input type="text" name="telp" size="20" class="input"/> </td>
        		</tr>
        	</table>
        	
        	<br> </br>
        	
        	<table class="inscription">
        
        		<tr class="ligne"> 
        			<td class="sstitre" colspan="2"> Identification </td>
        		</tr> 
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Email* : </td>
        			<td> <input type="text" name="email" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Retapez votre email : </td>
        			<td> <input type="text" name="email2" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne">  	
        			<td class="champ"> Mot de passe : </td>
        			<td> <input type="password" name="telp" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne"> 	
        			<td class="champ"> Retapez votre mdp: </td>
        			<td> <input type="text" name="password2" size="20" class="input"/> </td>
        		</tr>
        		
        		<tr class="ligne" > 	
        			<td colspan="2"> *votre adresse email vous servira d'identifiant </td>
        		</tr>
        	</table>
        
        <br></br>
        	
        	<table class="inscription">
        
        		<tr class="ligne"> 
        			<td class="sstitre" colspan="2"> Condition d'utilisation </td>
        		</tr> 
        		<tr> 
        			<td><form> 
        				<textarea name="Texte" rows="3" cols="45" readonly>	L'inscription sur le site Oya-Location.com est entiérement gratuite. Le site s'engage à ne pas diffuser vos informations personnelles ou professionnelles sans votre accord. Le fait de s'incrire sur le site, ne vous engage à aucune exclusivité envers le dit site. Vous engagez à diffuser que des bien locatifs vous appartenant.	</textarea> 
        			</form> </td>	
        		</tr>
        	</table>
        	
        	<br> </br>
        
        <table class="inscription">
        				<tr>
        				<td class="titre">
        					 Le fait de cliquer sur le bouton "S'incrire" vous engage à respecter les condition générales d'utilisation du site
        				</td>
        				</tr>
        				<tr> 
        				<td class="titre">
        						<input type="submit" value="S'incrire"  class="boutton"/> 
        				</td>
        				</tr>
        </table>
        
        </form>
        
        </div> <!-- fin de content !-->
        1. effectivment cette variable ne sert à rien,en tout cas pour les condition.
          1. Pour vérifier les valeurs mets derrière <?php
            la ligne:

            echo "<pre>".print_r($_POST);echo "</pre>";
            et vérifie si ce que tu recois est conforme à ce que tu attends.
            1. voila ce qu'il m'affiche

              Array ( [nom] => [prenom] => [adresse] => [codep] => [tel] => [telp] => dd [email] => dd [email2] => dd [password2] => dd [Texte] => L\'inscription sur le site Oya-Location.com est entiérement gratuite. Le site s\'engage à ne pas diffuser vos informations personnelles ou professionnelles sans votre accord. Le fait de s\'incrire sur le site, ne vous engage à aucune exclusivité envers le dit site. Vous engagez à diffuser que des bien locatifs vous appartenant. )
              
              1
              
              marche pas


              je comprends pas trop comment marche ce que tu m'as donné, mais j'ai testé en faisant simplement echo pour tous les post et il m'affiche bien ce que j'ai entré....
              1. Re bonsoir, j'ai déja vu ça dans un autre post il me semble ?

                essayes avec la condition:

                			
                if (isset($_POST['password']) AND isset($_POST['email'] ) AND isset($_POST['password2']) AND isset($_POST['email2'])
                				AND ($_POST['password2'] == $_POST['password']) AND ($_POST['email2'] == $_POST['email']))
                			{
                


                Tu as trop de ( ) et il doit y avoir des erreurs d'ouvantes fermantes
                1. Array ( [nom] => [prenom] => [adresse] => [codep] => [tel] => [telp] => dd [email] => dd [email2] => dd [password2] => dd [Texte] => L\'inscription sur le site Oya-Location.com est entiérement gratuite. Le site s\'engage à ne pas diffuser vos informations personnelles ou professionnelles sans votre accord. Le fait de s\'incrire sur le site, ne vous engage à aucune exclusivité envers le dit site. Vous engagez à diffuser que des bien locatifs vous appartenant. )

                  1
                  Dans les variables POST celles en gras n'existent pas : c'est donc normal que cela ne fonctionne pas.

                  if ((isset($_POST['password'])) AND (isset($_POST['email'] ))
                  AND (isset($_POST['password2'])) AND (isset($_POST['email2'] ))
                  AND ((($_POST['password2']) == ($_POST['password'] )))
                  AND ((($_POST['email2']) == ($_POST['email'] )) )

                  donc le if est faut, donc on se débranche sur ça marche pas

                  les varaibles en gras sont peut être ailleurs sous un autre nom
                  1. merci à tous ça marche presque impec ^^. Malheureusement, il n'écrit pas dans la table.
                    ma table sql est de ce type :

                     id  	 sexe  	 nom  	 prenom  	 adresse  	 codep  	 ville  	 type  	 nbpers  	 tel  	 telp  	 email  	 photo1  	 nbetoiles  	 password


                    est ce que le fait que ce ne soit pas même ordre dans les colonne soit le probléme ?
                    1. a non c'est de ma faute .... j'ai pas changé la variable inutile ....
                      mais si je met VALUES('',$_POST['nom'])

                      ca ne marche pas à cause du post .... quelqu'un à un solution autre que changer de variable tq $nom=$_POST['nom'] ?
                      merci!
                      1. Bonjour,
                        il faudra bien changer quelque chose, alors soit le "name" dans le formulaire, soit le nom dans le code, soit le nom dans la table !
                        1. Bonjour,

                          si tu n'insère que le nom dans ta table, tu dois le spécifier dans ta requête SQL:

                          INSERT INTO nom_table (nom_colonne1, nom_colonne2, nom_colonne3) VALUES ('value1','value2','value3');
                          
                          "INSERT INTO membres (nom) VALUES ('$_POST[nom]');"

                          http://sql.1keydata.com/fr/sql-insert-into.php

                          Le seul cas d'INSERT où il n'est pas nécessaire de spécifier le nom des colonnes, est le cas où on complète TOUTES les colonnes et dans le BON ordre.

                          Petite explication pour le $_POST[nom] :
                          Si ta requête est entre double quote ( " " ), il ne faut plus de simple quote ( ' ' ) autour de nom.
                          Les quatre formats suivant sont valables :
                          "INSERT INTO membres (nom) VALUES ('$_POST[nom]');"
                          "INSERT INTO membres (nom) VALUES ('" . $_POST['nom'] . "');" 
                          'INSERT INTO membres (nom) VALUES (\'' . $_POST['nom'] . '\');' 
                          'INSERT INTO membres (nom) VALUES ("' . $_POST['nom'] . '");' 
                          


                          Et par pitié, surveille la sécurité !
                          https://www.php.net/htmlspecialchars
                          https://www.php.net/strip_tags
                          https://www.php.net/intval
                          https://www.php.net/mysql_real_escape_string
                          https://www.php.net/addslashes
                          1. Bonjour,

                            Revois tout ton formulaire, il y a plein d'erreurs:

                            <td class="champ"> Ville : </td>
                            <td> <input type="ville" name="nom" size="20" class="input"/>

                            <td class="champ"> Mot de passe : </td>
                            <td> <input type="password" name="telp" size="20" class="input"/>

                            <td class="champ"> Retapez votre mdp: </td>
                            <td> <input type="text" name="password2" size="20" class="input"/> </td>


                            pour celles qui m'ont sauté aux yeux

                            Le print_r () préconisé plus haut devrait te permettre de vérifier que chaque champ te renvoie bien ce que tu as saisi dans le formulaire

                            ex [nom]=>'Toto'
                            1. Haalala.. Vive les copier coller quand même :P Mais faut pas oublier de modifier correctement ce qui doit l'être ^^