[PHP] probleme condition IF

Fermé
tobec - 15 janv. 2009 à 14:08
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 15 janv. 2009 à 17:04
Bonjour a tous


Voila, dans un feuille PHP je souhaiterai afficher une valeur de la BDD lorsque l'on clique sur un bouton.

je trouve pas la condition a mettre dans ma boucle if qui permet cela.

Voila une partie de mon code (je m'excuse aupres des puristes, je débute en PHP)

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

<form action="admin.php" method="post">
<p>Demande de tirage : </p><input type="submit" value="Demander" name="ok">
</form>
<?php
if ($_POST['ok']==on)
{
mysql_connect("localhost","root","");
mysql_select_db("client");
$reponse = mysql_query("select * from infoclient order by RAND()limit 1") or die(mysql_error());

while ($donnees=mysql_fetch_array($reponse))
{
?>
<p>
<strong>CLIENT:</strong> : <?php echo $donnees['nom_client'];?> <?php echo $donnees['prenom_client'];?> <br/>
<?php echo $donnees['adr_client'];?> <?php echo $donnees['cp_client']; ?> <?php echo $donnees['ville_client']; ?> <br/>
telephone : <?php echo $donnees['tel_client'];
}
}


""""""""""""""""""""""""""""""""""""""""""""

quelqu un aurait il une idée?


merci a tous
A voir également:

6 réponses

UnPassantQuiPasse Messages postés 118 Date d'inscription samedi 10 janvier 2009 Statut Membre Dernière intervention 30 octobre 2010 11
15 janv. 2009 à 14:13
bonjour,

essai de remplacer

if ($_POST['ok']==on)

par


if ($_POST['Demander']=="ok")

de même, comme dans ta requête SQL tu met la clause " limit 1 " signifiant que tu limite le nombre de résultat à 1, par de boucle à faire puisqu'un seul cas, pas de while, les echo $donnees['xxxxxxx'] suffisent
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
15 janv. 2009 à 14:14
ça ne fonctionne pas comme ça, le seul but d'un bouton submit est de passer à une page suivante, tu ne transmets aucune valeur avec ton formulaire.

il faut que tu rajoute un champ, que tu peux cacher si tu le souhaites.

<input type="hidden" name="tirage" value="oui" />

et pour ton if :

if ($_POST['tirage']== "oui")
0
Merci a tout les deux.

Effectivement le while ne sert pas a grand chose...je le changerai...^^

Par mon problème est toujours la.

J'ai rajouté un else pour voir si le programme passait dans la condition ou pas....

La boucle IF($_POST['tirage']=="oui")
else
echo "pb";

s'execute au chargement du formulaire puisque le "pb" s'affiche dès le chargement.

je vous remet le code, si vous avez d'autres idées pour m'aider.


Encore un grand merci merci a vous.

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""

<form action="admin.php" method="post">
<p>Demande de tirage : <input type="submit" value="Demander" name="ok"/>
<input type="hidden" name="tirage" value="oui"/>
</p>
</form>
<?php
if($_POST['tirage']=="oui")
{
mysql_connect("localhost","root","");
mysql_select_db("client");
$reponse = mysql_query("select * from infoclient order by RAND()limit 1") or die(mysql_error());

while ($donnees=mysql_fetch_array($reponse))
{
?>
<p>
<strong>CLIENT:</strong> : <?php echo $donnees['nom_client'];?> <?php echo $donnees['prenom_client'];?> <br/>
<?php echo $donnees['adr_client'];?> <?php echo $donnees['cp_client']; ?> <?php echo $donnees['ville_client']; ?> <br/>
telephone : <?php echo $donnees['tel_client'];?>
</p>
<?php
}
}
else
{
echo "pb";
}
}
?>

""""""""""""""""""""""""""""""""""""""""""""""""""""
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 janv. 2009 à 14:34
Désolé, mais même si il n'y a pas d'autre champ input, le bouton est posté avec le formulaire


<form action="admin.php" method="post">
<p>Demande de tirage : </p><input type="submit" value="Demander" name="ok">
</form>


donc il faut tetser:

if(isset($_POST['ok']) AND $_POST['ok'] =="Demander"){

//action

}


par contre si j'ai une remarque, le name du bouton est mal choisi ok ce n'est pas parlant

j'aurais mis plutot "demander'

ce qui donne:

<form action="admin.php" method="post">
<p>Demande de tirage : </p><input type="submit" value="Demander" name="demander">
</form> 


et pour le test:

if(isset($_POST['demander']) AND $_POST['demander'] =="Demander"){

//action

}
0

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

Posez votre question
Merci pour votre aide

je crois que j'ai trouvé mon problème...enfin je crois...^^

la page est chargée a partir d'une autre page...

le premier test est alors de vérifier si le mot de passe entré dans le premier formulaire est le bon.

code du deuxieme formulaire :

if ($_POST['pass']=="toto")
{
?>
<form action="admin.php" method="post">
<p>Demande de tirage : <input type="submit" value="Demander" name="demander">
</p>
</form>

etc....


ce test fonctionne au premier chargement, mais le problème pourrait il venir du fait que l'on recharge la page (admin.php) avec le bouton "demander" et alors il perdrai la valeur de $_POST['pass']?

C'est juste une idée....si c'est ca je m'en veux de pas vous avoir expliqué le truc du mot de passe avant....


merci encore a vous
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 janv. 2009 à 17:04
ha oui c'est sur que la tu pert le mot de pass

pour le faire suivre de page en page tu peux mettre un champ caché <input type="hidden" name="pass" value="<?php echo $_POST['pass']" ?>">

mais c'est pa scool car si qq un fit afficher la source de la page il verra le mot de passe

la solution c'est les SESSIONS php

tu stockes le mot de pass dans une variable de session

vas voir sur G... comment faire

ou ce tuto:

http://www.phpfrance.com/tutoriaux/index.php/2005/07/20/34-les-sessions-php
0