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

Fermé
sim - 30 janv. 2008 à 21:43
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 - 31 janv. 2008 à 13:49
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>

14 réponses

Utilisateur anonyme
30 janv. 2008 à 21:55
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 ';
}
?>
0
il manque du code la variable $zsfsf dit moi ou elle est ignisialisée
0
Utilisateur anonyme
30 janv. 2008 à 22:01
je ne pense pas que cela soit grave, elle est vierge
0
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 !-->
0

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

Posez votre question
effectivment cette variable ne sert à rien,en tout cas pour les condition.
0
Utilisateur anonyme
30 janv. 2008 à 22:06
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.
0
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é....
0
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
0
Utilisateur anonyme
30 janv. 2008 à 22:19
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
0
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 ?
0
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!
0
Utilisateur anonyme
31 janv. 2008 à 09:03
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 !
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
31 janv. 2008 à 09:46
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
0
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'
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
31 janv. 2008 à 13:49
Haalala.. Vive les copier coller quand même :P Mais faut pas oublier de modifier correctement ce qui doit l'être ^^
0