Input hidden

Résolu/Fermé
Mathildeeee - 30 déc. 2016 à 01:42
 Mathildeeee - 30 déc. 2016 à 12:06
Bonjour,
j'ai un petit probleme
mon code n'arrive pas à m'afficher les données dans mon input hidden. comment faire ?

<?php
$i=1;
while($i <= 40) { 
echo"<p align='center'> <font size='6'> Question ".$i.": </font></p> <br>".$_POST['question'.$i].'<br>';

	if (isset($_POST['reponse'.$i]))
	{
	
      echo "<p align='center'> Vous avez choisi :  ".$_POST['reponse'.$i]."</p> <br>";
	echo "<p align='center'> La bonne réponse est : ".$_POST['juste'.$i]."</p> <br>";
	}
	else
	{
      echo "<p align='center'> Vous n'avez rien choisi </p> <br>" ;
	}
$i++;
 }
?>

<form method="post" action="correction.php">
<?php	
$bdd = new PDO('mysql:host=localhost;dbname=quizz','root', '');	
$reponse = $bdd->query('SELECT * FROM qcm order by rand()');
$i=0;
$j=1;
while ($donnees = $reponse->fetch())
{

$i++;
$j++;
echo "<div id='Question".$i."'><p align='center'><font size='6'>Question".$i.": </font> </p> </div>  <br> <p align='center'>".$donnees['question']." </p>";	
?> <BR>
<tr><td> <p align='center' > <input type="radio" name="<?php echo 'reponse'.$i; ?>" value="<?php echo $donnees['rep1']; ?>"/> 
<?php echo $donnees['rep1']; ?></td></tr> <BR> </p>
<tr><td> <p align='center' ><input type="radio" name="<?php echo 'reponse'.$i; ?>" value="<?php echo $donnees['rep2']; ?>"/>
<?php echo $donnees['rep2']; ?></td></tr> <BR> </p>
<tr><td> <p align='center' ><input type="radio" name="<?php echo 'reponse'.$i; ?>" value="<?php echo $donnees['rep3']; ?>"/>
<?php echo $donnees['rep3']; ?>	 </td></tr> <BR> </p>
<input type="hidden" name="<?php echo 'question'.$i; ?>" value="<?php echo $donnees['question']; ?>"/>
<input type="hidden" name="<?php echo 'juste'.$i; ?>" value="<?php echo $donnees['rep_juste']; ?>"/> 
<input type="hidden" name="<?php echo'commentaire'.$i; ?>" value="<?php echo $donnees['commentaire']; ?>" />
 
<br>
<?php 
	if($i<26){
		echo "<p align='center'><a class='stylebouton' href='#Question".$j."' rel="nofollow noopener noreferrer" target="_blank">Suivant</a> </p>";
	}
	else {
		echo "<p align='center'><input name='corriger' type='submit' value='Correction' </p>";
		

	}
}
?>
</form>
A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 déc. 2016 à 09:58
Bonjour,

Plusieurs choses ne vont pas dans la façon dont sont codées tes pages...

Déjà .. évite de mettre les réponses sur la page des questions .. n'importe qui faisant apparaitre le code-source de ta page pourrait voir les réponses .... (même dans des champs hidden )
Ensuite... pense à placer le code de connexion à ta BDD dans un fichier à part (comme ça tu pourras l'inclure dans toutes tes pages sans avoir à retaper le code)
Pense également à activer l'affichage des erreurs PHP ET PDO.
Puis enfin .. récupère PROPREMENT les variables POST AVANT de les utiliser.

Pour ce qui est du mécanisme .. la table qui contient tes questions n'aurait-elle pas un champ "ID" ?
Si oui... tu ne mets cet ID dans l'attribut NAME de tes INPUT questions.
et dans la page "correction" .. tu vas, via une requête SQL, regarder la réponse correspondante à l'ID de la question.

Quoi qu'il en soit, commence par lire (et appliquer..) ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

et ça :
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index

0
Merci beaucoup !
0