[PHP] probleme condition IF

tobec -  
Alain_42 Messages postés 5413 Statut Membre -
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 128 Statut Membre 11
 
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 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
ç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
tobec
 
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 5413 Statut Membre 894
 
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
tobec
 
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 5413 Statut Membre 894
 
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