Bonjour,
J'ai un problème assez étrange.
Techniquement mon programme est changé affiché des questions en fonction d'un id et on passe à la question suivante quand on clique sur l'un des choix.
Là où c'est étrange c'est que tout fonctionne sauf au niveau de l'url.
A la première question on a un id à 0 et quand on clique sur la question suivante on a la bonne question mais dans l'url l'id est toujours à 0. C'est seulement si on répond de nouveau à la question que l'id incrémente correctement.
<div class="type-question">
<p class="question">
<?php
//echo $_SESSION['questions'];
if (!empty($_GET['id'])) {
displayQuestions($_GET['id']);
} else {
displayQuestions();
}
/* if (intval($_GET['indexQuestion'])< sizeof($_SESSION["question"])-1) {
$_SESSION["question"][intval($_GET['indexQuestion'])+1];
}*/
?>
</p>
</div>
if (!empty($_POST['choix'])) {
$_GET['id']++;
//quelque soit le choix, l'appel est toujours le même
addReponse($_SESSION['id_utilisateur'],$_POST['sondage_en_cours'],
$_POST['question'],$_POST['choix']);
echo $_GET['id'];
header('Location :index.php?id='.$_GET['id']);
} else {
header('Location :index.php?id=0');
}
function displayAddReponses($idQuestion = 0) {
$query = 'SELECT * FROM sondage_questions WHERE id = (SELECT min(id) FROM sondage_questions WHERE id > :id )';
$resultat = db()->prepare($query);
$resultat->bindValue(':id',$idQuestion,PDO::PARAM_INT);
$data = $resultat->execute();
$nb_sondage = $resultat->rowCount();
if (!$resultat->execute()) {
echo '<br>ERREUR select ID ('.$idQuestion.') => vérifier la DB';
} else {
if (!$nb_sondage == 0) {
$donnees = $resultat->fetch();
echo "<form method='post' class='bandeau' action = 'index.php?id=".$_GET['id']."'>";
echo "<input type='hidden' name = 'sondage_en_cours' value = '".$donnees['id']."'/>";
echo "<input type='hidden' name = 'question' value = '".$donnees['question']."'/>";
echo "<input type = 'submit' name='choix' value = 'bon' class='bon'/>";
echo "<input type = 'submit' name='choix' value = 'moyen' class='moyen'/>";
echo "<input type = 'submit' name='choix' value = 'mauvais' class='mauvais'/>";
echo "</form>";
}
Cela pourrait venir d'ou?
ca aurait pu expliqué que l'url change pas, mais le contenu oui ^^
Déjà j'ai du mal à pigé comme tu fais pour sélectionner la question qui à l'ID 0. Etant donné que l'on comme toujours à l'ID 1.
C'est ptete par là qu'il faut creuser
Alors j'ai retirer l'espace entre le location et le : et apriori sa à l'air de fonctionner.
header('Location : index.php?id=1');
header('Location: index.php?id=1');
Sinon une autre petite question, si je veux retirer la question a l'id 2.
Tu aurais une idée ?
C'est a dire qu'on afficherais la question 1 puis 3 puis 4 ?
Ca dépend de la raison, mais une simple condition du genre : Si l'id == 2 => id++
Pour le header il est vrai qu'il a tendence à être un peu strict pour pas grand chose. ( pour ca que je l'utilise plus :D )
Par contre par rapport à la redirection si je fais
~satisfaction/index.php?id=1 tout fonctionne correctement
Cependant si je met ~satisfaction/ on va avoir deux fois la question 1.