[php]direction aprés validation vers une page
Fermé
lusly
-
16 juin 2008 à 16:51
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 - 16 juin 2008 à 18:40
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 - 16 juin 2008 à 18:40
A voir également:
- [php]direction aprés validation vers une page
- Supprimer une page word - Guide
- Traduire une page - Guide
- Créer une page facebook - Guide
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Imprimer tableau excel sur une page - Guide
1 réponse
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
16 juin 2008 à 18:40
16 juin 2008 à 18:40
Bonjour.
Déjà quelques observations sur ton code :
- Quand tu utilises des fonction MySQL, penses à récupérer une erreur éventuelle avec un or die (mysql_error())
- Pourquoi récupères-tu le Libelle des questionnaires dans une table, alors que tu affiches le libellé des boutons en dur ?
Autant faire une table de ce genre :
Id => Id du questionnaire
Nom => Nom du questionnaire
Libelle => Ce qu'on affiche
Ou au moins, récupère l'Id qui te servira à choisir le questionnaire...
- Pourquoi faire deux requêtes filtrées, alors qu'a priori ta table questionnaires contient tous les questionnaires ?
Au final :
Ensuite, pour exploiter le formulaire, tu as trois solutions :
1. Dans cible.php tu testes la valeur de $_POST['type_questionnaire'], et tu exécutes la routine qui va bien en fonction de la valeur.
2. cible.php renvoie (avec un header("location:")) sur la page 'type_questionnaire'.php, qui contient le questionnaire.
3. Si tes questionnaires sont construits de manière standard, il suffit d'utiliser la valeur de 'type_questionnaire' en paramètre.
Par exemple, si tu as une table
questions :
Id
Id_questionnaire
intitulé
reponse
tu fais un "SELECT * from questions WHERE Id_questionnaire=".$_POST['type_questionnaire']
Déjà quelques observations sur ton code :
- Quand tu utilises des fonction MySQL, penses à récupérer une erreur éventuelle avec un or die (mysql_error())
- Pourquoi récupères-tu le Libelle des questionnaires dans une table, alors que tu affiches le libellé des boutons en dur ?
Autant faire une table de ce genre :
Id => Id du questionnaire
Nom => Nom du questionnaire
Libelle => Ce qu'on affiche
Ou au moins, récupère l'Id qui te servira à choisir le questionnaire...
- Pourquoi faire deux requêtes filtrées, alors qu'a priori ta table questionnaires contient tous les questionnaires ?
Au final :
<?php mysql_connect("localhost", "root", "") or die('Erreur MySQL : '.mysql_error());//connexion mysql mysql_select_db("questionnaire") or die('Erreur de connexion à la base : '.mysql_error());//connexion base // Une seule requête pour récupérer tous les questionnaires de la table. $reponse = mysql_query("SELECT Id_questionnaire, Libelle_questionnaire FROM questionnaires") or die('Erreur de requête : '.mysql_error()); while ($donnees = mysql_fetch_array($reponse) ) { // Et on crée un bouton radio par ligne récupérée. echo '<input type="radio" name="type_questionnaire" value="'.$donnees[Id_questionnaires].'"/>'; echo $donnees['Libelle_questionnaires'].'<br />'; } ?>
Ensuite, pour exploiter le formulaire, tu as trois solutions :
1. Dans cible.php tu testes la valeur de $_POST['type_questionnaire'], et tu exécutes la routine qui va bien en fonction de la valeur.
2. cible.php renvoie (avec un header("location:")) sur la page 'type_questionnaire'.php, qui contient le questionnaire.
3. Si tes questionnaires sont construits de manière standard, il suffit d'utiliser la valeur de 'type_questionnaire' en paramètre.
Par exemple, si tu as une table
questions :
Id
Id_questionnaire
intitulé
reponse
tu fais un "SELECT * from questions WHERE Id_questionnaire=".$_POST['type_questionnaire']