Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/08/2007, 15h48   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 62
Points : 12
Points : 12
Par défaut Variable PHP dans value d'un formulaire

Bon, je me sens ridicule..

J'ai ceci :
Code :
1
2
3
<?
echo '<input type="radio" name="reponse'.$num.'" value="2" >'.$reponse2.'<br />';
?>
Quelle est la syntaxe pour afficher ma variable $reponse2 dans value, au lieu de 2 ????

Merci...
syl2042 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 15h52   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Code :
echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse2.'" >'.$reponse2.'<br />';
Il faut bien commencer quelque part !
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 15h52   #3
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
tu peux faire ça:
Code :
1
2
<input type="radio" name="reponse<?php echo $num;?>" value="<?php echo $reponse2;?>"/>
<?php echo $reponse2;?><br/>
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 16h05   #4
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 62
Points : 12
Points : 12
Merci les gars...

De plus en plus fort...

J'avais besoin de ceci pour comparer le résultat...

Voilà mon formulaire :

Code :
1
2
3
4
5
6
7
8
9
10
11
<?
 
			echo '<form method="post" action="verif.php">';
			echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse1.'" >'.$reponse1;
			      echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse2.'" >'.$reponse2.'<br />';
			      echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse3.'" >'.$reponse3;
			      echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse4.'" >'.$reponse4.'<br /><br>';
				  echo '<input type="submit" value="Go Cash !" ></form>';
 
 
				  ?>
Et j'essaies de vérifier les réponses avec ceci :

Code :
1
2
3
4
5
6
7
8
9
<?
$test=$_POST['reponse'];
if ($test != $repexact) {
echo 'vous avez perdu';
}
else { 
echo 'vous avez gagné';
}
?>
Bon, vous voyez ou j'en suis...

Je dois avoir un souci de syntaxe car quelque soit la réponse, il m'affiche que j'ai perdu... L'idiot...

$repexact étant la bonne réponse dans ma base...

Merci
syl2042 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 16h12   #5
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
ben il faut commencer par débugger de ton coté
Affiche les deux variables avant la comparaison et vérifies que 1/ c'est ce que t'as choisi dans le formulaire, 2/ c'est bien la bonne donnée extraite de la base
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 17h17   #6
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 62
Points : 12
Points : 12
Bon, effectivement, il y a un souci...

Il ne me retrouve pas ma variable $repexact

J'explique ce que je voudrais... Merci d'avance...

Dans jeux.php, j'ai tout d'abord un appel à ma base sql dans laquelle j'ai des questions avec leurs réponses... $repexact étant la bonne réponse
Cela donne ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<?php        
require ("connectdb.php");//connection à la base
$reqsql="SELECT * FROM question order by rand() limit 1";
$resbase=mysql_query($reqsql,$cnx) or die ("Echec de $sqlquest");
 
 
while ($quizz=mysql_fetch_assoc($resbase)){
//$num prend la valeur trouvé dans le champs 0
$num=$quizz['num'];
//$question prend la valeur trouvé dans le champs 1
$question=$quizz['question'];
//$reponse1 prend la valeur trouvé dans le champs 2
$reponse1=$quizz['rep1'];
//$reponse2 prend la valeur trouvé dans le champs 3
$reponse2=$quizz['rep2'];
//$reponse3 prend la valeur trouvé dans le champs 3
$reponse3=$quizz['rep3'];
//$reponse4 prend la valeur trouvé dans le champs 4
$reponse4=$quizz['rep4'];
//$repexact prend la valeur trouvé dans le champs 5
$repexact=$quizz['rep'];
}
$date = date("Y/m/d H:i:s");
$sql = "INSERT INTO parties (date, question, reponse)
VALUES('$date','$question','$repexact')";
mysql_query($sql)
or die('Erreur SQL !'.$sql.'
'.mysql_error());           
        //ferme la connection à la base
        mysql_close();
 
?>
Sur ce même fichier jeux.php, j'affiche ma question qui sort au hasard de ma base et j'ai ses réponses.

J'affiche ensuite les réponses sous cette forme :

Code :
1
2
3
4
5
6
7
8
9
<?
 
echo '<form method="post" action="verif.php">';
echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse1.'" >'.$reponse1;
echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse2.'" >'.$reponse2.'<br />';
echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse3.'" >'.$reponse3;
echo '<input type="radio" name="reponse'.$num.'" value="'.$reponse4.'" >'.$reponse4.'<br /><br>';
echo '<input type="submit" value="Go Cash !" ></form>';
?>

Et sur ma page verif.php, j'ai :

Code :
1
2
3
4
5
6
7
8
9
10
11
<?
$test=$_POST['reponse'];
echo $test;//pour tester l'affichage
echo $repexact;//pour tester l'affichage
if ($test == $repexact) {
echo 'vous avez gagné';
}
else { 
echo 'vous avez perdu';
}
?>
Je suis en train de comprendre que ma variable $repexact dans mon verif.php ne peut s'afficher car ce verif.php ne rappelle pas ma base SQL (j'ai juste là?)

Alors comment t'est ce que je fais moi, hein? Pour comparer ma réponse à la réponse exacte..



Merci
syl2042 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 17h23   #7
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
ben deux solutions:

1/ tu stockes la réponse exacte dans le formulaire coté client => c'est simple mais c'est complètement débile (on est vendredi soir désolé...)

2/ tu stockes un identifiant correspondant a la question dans le formulaire coté client (par exemple l'id de cette question dans la base de données) et dans ton script verif.php tu fais une requete sur la base pour aller chercher la bonne réponse correspondant au quizz actuel.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 17h33   #8
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 62
Points : 12
Points : 12
Je le voyais arriver cette histoire d'ID de la question...

Mais je ne peux pas à ce moment là faire la comparaison des 2 variables dans le form?
syl2042 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 17h40   #9
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Comme expliqué au dessus : tu peux mais ca veut dire que la personne aura juste a regarder la source de ta page pour savoir quelle est la bonne réponse !!!
Donc la meilleure solution reste de stocker l'id et d'aller revérifier la réponse!
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 17h50   #10
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 62
Points : 12
Points : 12
Bon, je fais faire cela alors...

En tous les cas, je vais tenter

Merci en tous les cas pour ton aide toute cette journée...

Et bon week...
syl2042 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h22.


 
 
 
 
Partenaires

Hébergement Web