Bonjour, je bloque sur un formulaire a choix multiple liés.

gellule26 Messages postés 6 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 18 juin 2010 - 3 juin 2010 à 23:37
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 - 18 juin 2010 à 21:44
Bonjour, c'est mon premier post ici alors je risque d'employé un mauvais vocabulaire.

Alors je vous expose mon problème.
j'essaye de faire un formulaire ou le visiteur doit répondre a une questions pour que la seconde question s'affiche selon sa réponse a la première.

j'arrive a poser la question n°2 suivant la réponse a la question n°1
mais je n'arrive pas a aller plus loin, la réponse a la question n°2 n'implique pas la question n°3

le tout sachant que je doit poser 5 questions de ce type avant de demander des information classique du type nom, prénom, etc.... mais le problème n'est pas (encore) la.

je vous joint mon 1 premier code marche ( de la question 1 a 2)

===================================================================================================================
===================================================================================================================



p, h2 {
display:block;
clear:both;
}
label {
display:block;
float:left;
width:200px;
text-align:right;
padding:0 5px;
}
input, select {
display:block;
float:left;
width:250px;
}






Type de formation :

-- Selectionner un type de formation --
>Formation courte.


Durée de formation :

-- Selectionner la durée de formation --
>Formation de 1210 heures.





Durée de formation :

-- Selectionner la durée de formation --
>Formation 2 semaines.


Durée de formation :

-- Selectionner la durée de formation --


soumettre






===============================================================================================================
===============================================================================================================

et voici donc un deuxième ou j'aisseye de passer de la question 2 a 3 mais ou j'ai fini par me perdre dans les méandres du php.


===============================================================================================================
===============================================================================================================





p, h2 {
display:block;
clear:both;
}
label {
display:block;
float:left;
width:200px;
text-align:right;
padding:0 5px;
}
input, select {
display:block;
float:left;
width:250px;
}






Type de formation :

-- Selectionner un type de formation --
>Formation courte.


Durée de formation :

-- Selectionner la durée de formation --
>Formation de 1210 heures.





Durée de formation :

-- Selectionner la durée de formation --
>Formation 2 semaines.


Durée de formation :

-- Selectionner la durée de formation --


Spécialitée de formation :

-- Selectionner la psécialitée de formation --
>sculpture pierre.





Spécialitée de formation :

-- Selectionner la Spécialitée de formation --
>sculpture pierre.






soumettre



====================================================================================================================
====================================================================================================================

A noter que cette deuxième version n'est qu'une des nombreuses tentative que j'ai faite mais qui mènes
toute au même résultat


!!! ERROR !!!


je suis perdu, qq'un peut il m'aider ?

merci par avance.

8 réponses

gellule26 Messages postés 6 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 18 juin 2010
5 juin 2010 à 10:08
bon et bien apparemment il n'y a pas d'âme charitable pour m'aide ici

Est ce ma question qui est mal posé?
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
5 juin 2010 à 15:56
Salut,

Est ce ma question qui est mal posé?
Oui et non !

Et si tu utilisai l'éditeur de code pour rendre ton code plus lisible ...
Et profite-en pour BIEN expliquer ton problème, en détaillant plus les différentes étapes...

P.S : On a bien compris que ce que tu veux faire, c'est afficher les questions suivantes en fonctions des précédentes, en soit ce n'est pas compliqué mais il y a plusieurs façon d'aborder le sujet(du simple au plus compliqué : dépend du nombre d'intéraction), plus de détail sera bien venu !



______________________________________________________________________
0
gellule26 Messages postés 6 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 18 juin 2010
5 juin 2010 à 22:38
salut

qu'entends tu par "Et si tu utilisai l'éditeur de code pour rendre ton code plus lisible ... "


Mon problème est que je n'arrive pas a poser la 3eme question. Après de multiples essai j'ai toujours ce message d'erreur.

le premier code que j'ai copier fonctionne mais est ce une bonne solution ou y a t'il une (ou d'autres) manière.

pouvez vous me donner une piste
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
6 juin 2010 à 00:28
qu'entends tu par "Et si tu utilisai l'éditeur de code pour rendre ton code plus lisible ... "
L'éditeur de code c'est ce qui sert à rendre LISIBLE les bouts de codes que tu poste ici. Pour cela tu utilise les icônes qu'il y a en haut de la fenêtre dans laquelle tu tape tes messages pour exiger de l'aide. Cela montre un petit respect pour les yeux de ceux dont tu exige de l'aide et donc d'avoir des réponses un peu plus rapidement.


Bon voici un plan de travail :
<?php
/* PETIT AVANT-PROPOS 

:::: $compl_mail sert à l'envoie d'un mail si j'ai bien compris, donc on l'initialise a FALSE et à la fin des questions/réponses on place
 sa valeur à TRUE

:::: J'utilise un javascript pour passer plus facilement au différentes étapes donc il y a pas de bouton type SUBMIT	
*/
$compl_mail = false;



/*
On sait que tu dois utiliser plusieurs select, ALORS on va 'automatiser' la création de ceux-ci afin de rendre des éventuelles modifications futures
plus simple. Pour cela on va utiliser LES TABLEAUX 1 dimension et 2 dimensions.
*/

/* Les OPTIONS du SELECT pour le choix des formations */
$select_choix = array('-- Selectionner un type de formation --','Formation longue','Formation courte','Stage loisir');

/* Les OPTIONS du SELECT pour la durée des formations :::: TABLEAU A 2 dimensions */
$select_duree = array('1'=>array('-- Selectionner la durée de formation --','Formation de 900 heures','Formation de 1210 heures'),
  '2'=>array('-- Selectionner la durée de formation --','Formation 1 semaine','Formation 2 semaines','Formation 3 semaines'),
  '3'=>array('-- Selectionner la durée de formation --','Samedi matin'));
  
/* Les OPTIONS du SELECT pour la spécialité des formations */
$select_specialite = array('-- Selectionner la spécialitée de formation --','sculpture bois','sculpture pierre');

?>


<form name="f_test" action="test.php" method="post">


<label>Type de formation : </label>
<select name="choix">
<?php
/* Affichage des OPTIONS */
foreach($select_choix as $key => $choix)
{
echo '<option value="'.$key.'" onClick="document.f_test.submit();" ';

/* SI L'ELEMENT A DJA ETE ENVOYER ON SELECTIONNE L'OPTION*/
if(isset($_POST['choix']) && $_POST['choix']==$key) echo 'selected="selected"'; /

echo '>'.$choix.'</option>';
}	
?>
</select>




<?php
/* Affichage des questions/reponses */
if(isset($_POST))
{
foreach($_POST as $items => $val)
{
switch($items)
{
case 'choix' : 
echo '<label>Durée de formation : </label>';
echo '<select name="duree">';	
foreach($select_duree[$val] as $key => $duree)
{
echo '<option value="'.$key.'" onClick="document.f_test.submit();"';
if(isset($_POST['duree']) && $_POST['duree']==$key) echo 'selected="selected"';
echo '>'.$duree.'</option>';
}
echo '</select>

';
break;

case 'duree' : 
echo '<label>Spécialité de formation : </label>';
echo '<select name="specialite">';
foreach($select_specialite as $key => $specialite)
{
echo '<option value="'.$key.'" onClick="document.f_test.submit();"';
if(isset($_POST['specialite']) && $_POST['specialite']==$key) echo 'selected="selected"';
echo '>'.$specialite.'</option>';
}
echo '</select>

';

$compl_mail = true;
break;
}
}
}
/* ENVOIE DU MAIL */
if($compl_mail)
{
if(mail(...........)) /* A remplir toi-même*/
{
SEND MAIL OK
}
else
{
ERROR SEND MAIL
}
}
?>

</form> 



______________________________________________________________________
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gellule26 Messages postés 6 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 18 juin 2010
16 juin 2010 à 14:40
Salut et merci pour ton aide. Je suis désolé j'ai eu des souci informatique qui font que je n'ai pas eu accès a internet durant de trop longs jours.
Je me suis donc un peu pencher sur le code que tu as posté et au final ben j'ai pas avancé d'un copec.
Mais peut être pourras tu m'éclairer sur le pourquoi du comment.

Tout d'abord tu me parles d'un "java script" mais je ne vois nul part de java script ( peut être le problème est du a cela)

ensuite quand je teste le code il ressort une erreur sur cette ligne

		if(isset($_POST['choix']) && $_POST['choix']==$key) echo 'selected="selected"'; /


Voila.
Je te remercie par avance
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
16 juin 2010 à 16:56
[quote=Tu]Mais peut être pourras tu m'éclairer sur le pourquoi du comment/quoteJ'ai mis des commentaires pour expliquer comment je procède, je peux pas être plus précis. Comme, je te l'ai dit dans les précédent postes il y a plusieurs façon de procéder. Celle que je t'ai proposer te permet de travailler sur les tableaux : ajout,modification,suppression et éventuellement d'ajouter d'autres formulaires en utilisant le même procéder que ce qui est utiliser dans le switch


[quote=Tu]
Tout d'abord tu me parles d'un "java script" mais je ne vois nul part de java script ( peut être le problème est du a cela) /quote
Le javascript peut ce mettre directement dans les balises html : onClick="document.f_test.submit();"


[quote=Tu]ensuite quand je teste le code il ressort une erreur/quote
J'ai testé le code avant de le poster !

Le mieux serait de dire l'erreur que tu obtiens !


______________________________________________________________________
0
gellule26 Messages postés 6 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 18 juin 2010
18 juin 2010 à 09:51
Salut.
Voici donc le fameux message. A noter que j'ai tester avec "easyphp" et sur serveur web.

"Parse error: syntax error, unexpected '/' in C:\Program Files\EasyPHP-5.3.2\www\test.php on line 45"

et la ligne 45 est la suivante :

if(isset($_POST['choix']) && $_POST['choix']==$key) echo 'selected="selected"'; /


Avec quoi as tu tester?
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
18 juin 2010 à 21:44
Il faut supprimer le slash qui est en fin de ligne, je surement dû le mettre en copiant le code sur le site.

Ceci dit un peu de recherche sur google t'aurai permis de corriger l'erreur d'autant que c'est une erreur banale...


______________________________________________________________________
0
Rejoignez-nous