formulaire intelligent ???

Eléphanteau du PHP | 19 Messages

11 oct. 2005, 13:26

Bonjour,

Avant toute chose, je suis newbie et même encore plus ... donc désolé si je ne comprends pas tout de suite :)
J'ai cherché dans votre forum sans succès.
Ma problématique :
créer un formulaire qui soit "intelligent", par ex :
je réponds oui à la q1, alors je vais à la q3
je réponds non à la q1, alors je vais à la q2
etc ...

J'ai besoin à la fin de générer un document texte dans lequel auront été intégrés des paragraphes correspondant aux questions ...
En fait, ce sont des textes de lois correspondant aux réponses données aux questions.

Je sais, c'est tordu, et vous n'avez pas que ça à faire.
Je n'ai pas le moindre morceau de code, nada, niente ...
Je cherche des tutos qui pourraient m'aiguiller ... et je commence à désespérer, sincèrement.

Toute aide me sera très utile.

En vous remerciant,

Cdlt,

Mammouth du PHP | 568 Messages

11 oct. 2005, 13:29

Si tout ton formulaire se trouve sur la même page, envisage du javascript... Du genre : "Si je clique sur oui, alors je donne le focus à l'élément du formulaire correspondant à la question 3"...
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Mammouth du PHP | 19672 Messages

11 oct. 2005, 13:39

J'ajouterais que tu devrais te faire un algorithme, en pseudo-code, c'est assez facile à faire, d'autant que ça s'écrit dans ton langage quotidien :

Code : Tout sélectionner

Si réponse à q1 = "oui" alors passer à question q3; Sinon Alors passer à question q2; FinSi ... etc...
Quand tu auras établi l'algorithme complet, il sera alors extrêmement facile de traduire ça en code, JavaScript ou PHP + HTML
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 19 Messages

11 oct. 2005, 13:42

Bonjour,

Merci de votre aide.
Heddicmi : je suis désolé mais je suis newbie et je ne connais pas le java ...
Cyrano : merci pour l'info de l'algo, j'ai ma trame. Le seul hic (de taille) est que je ne sais pratiquement pas programmer en php :oops: c'est pour cette raison que je cherche des tutos sur le sujet.

Encore merci de votre aide,

Cdlt,

Mammouth du PHP | 19672 Messages

11 oct. 2005, 13:49

Les meilleurs tutos:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 19 Messages

11 oct. 2005, 13:56

Merci pour les liens.
Cdlt,

Eléphanteau du PHP | 19 Messages

13 oct. 2005, 12:08

Bonjour,

ça y est ... je me suis lancé dans le PHP :wink:
et déjà mes premières questions :
comment fait-on pour ajouter du texte contenu dans une variable dans un document ???
voici le code que j'ai mis dans ma page question1.php ...
$f_final = fopen("./textes/texte_final.doc","w");
fputs($f_final, $comptable|$adherent); // on écrit le nom du comptable et de l'adhérent
fclose($f_final);
Je récupère mes variables d'un POST situé sur la page index.php :
<form method="post" action="question1.php">
<p>Nom du Comptable :<br>
<input type="text" name="comptable" size="40" /><br><br>
Nom de l'Adhérent :<br>
<input type="text" name="adherent" size="40" /><br>
</p>
<input type="submit" name="Submit" value="Envoyer">
</form>    
Ben en fait, ça marche pas :
Notice: Undefined variable: comptable in c:\program files\easyphp1-7\www\test\question1.php on line 12

Notice: Undefined variable: adherent in c:\program files\easyphp1-7\www\test\question1.php on line 12
Si vos lumières pouvaient éclairer mon ignorance ...
Cdlt,

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 oct. 2005, 12:12

comment fait-on pour ajouter du texte contenu dans une variable dans un document ???
fputs($f_final, $comptable.$adherent); // on écrit le nom du comptable et de l'adhérent
C'est le point (.) qui est l'opérateur de concaténation
Ben en fait, ça marche pas :
Notice: Undefined variable: comptable in c:\program files\easyphp1-7\www\test\question1.php on line 12

Notice: Undefined variable: adherent in c:\program files\easyphp1-7\www\test\question1.php on line 12
Je ne suis pas sûr que les lignes 11 et 12 correspondent au code que tu nous as montré. Ces erreurs sont affiché quand tu utilise une variable PHP qui n'existe pas et dans ton formulaire, tu n'as pas de variable php utilisé
Modifié en dernier par zeus le 13 oct. 2005, 12:12, modifié 1 fois.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 568 Messages

13 oct. 2005, 12:12

Je te renvois sur un tuto très explicite où tu découvriras comment récupérer les valeurs d'un formulaire... C'est quelque chose d'assez fondamental... A bien intégrer :wink:
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 oct. 2005, 12:15

method="post" donc toutes les infos récupérées de ton form sont dans une variable (de type tableau PHP) nommée $_POST
Ainsi name="adherent" sera dans $_POST["adherent"], il te suffit d'afficher le contenu de cette variable.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 19 Messages

13 oct. 2005, 13:59

Merci de vos réponses.
Je vais tenter d'éclaircir ...
le comptable et l'adhérent sont renseignés sur la page index.php via un post :
<body>
<form method="post" action="question1.php">
<p>Nom du Comptable :<br>
<input type="text" name="comptable" size="40" /><br><br>
Nom de l'Adhérent :<br>
<input type="text" name="adherent" size="40" /><br>
</p>
<input type="submit" name="Submit" value="Envoyer">
</form>    
</body>
ça c'est le début de question1.php :
<body>
		<? 
			include 'commun.inc.php' ; //afichage comptable & adhérent en haut de chaque page
			$f_final = fopen("./textes/texte_final.doc","w");
			fputs($f_final, $comptable.$adherent); // on écrit le nom du comptable et de l'adhérent
			fclose($f_final);
		?>
Si je fais
echo $_POST['comptable']
dans ma page question1.php, pas de problème : c'est affiché ...
mais c'est lorsque je veux les ajouter au document word que j'ai l'erreur ...
Cdlt,

Mammouth du PHP | 568 Messages

13 oct. 2005, 14:04

Il faut faire la liaison...

Si tu n'arrives pas à afficher avec $comptable mais avec $_POST["comptable"], alors il faut suremetn remplacer celui qui marche pas... Par l'autre...
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Eléphanteau du PHP | 19 Messages

13 oct. 2005, 14:24

J'ai ajouté ce code
$comptable = $_POST['comptable'];
$adherent = $_POST['adherent'];
au début de question1.php, comme précinosé par mère-thérésa, et je n'ai plus d'erreur affichée.
Le "seul" hic c'est que dans mon fichier word il m'ajoute le texte $comptable et non le contenu de la variable $comptable :shock:
Je suis désolé de vous embêter avec mes questions de débutant, mais j'avoue que je bloque grave ...
Cdlt,

Mammouth du PHP | 568 Messages

13 oct. 2005, 14:30

Qu'as tu si tu remplaces :
fputs($f_final, $comptable.$adherent); 
par
fputs($f_final, "$comptable $adherent"); 
Heddi s'est remis à développer pour lui même !
Martina Hingis - Étoile du Tennis
Heddi v. 2007

Eléphanteau du PHP | 19 Messages

13 oct. 2005, 14:37

un petit pas minuscule pour vous, un grand pas pour moi :D
ça y est, juste avec les " ... ça marche.
allez, hop, pb suivant :wink:
comment puis-je conserver ma variable $comptable (qui est créée dans question1.php) dans traitement.php ???
Cdlt,

Edit : J'espère ne pas vous avoir froissés en me permettant de dire
allez, hop, pb suivant :wink:

Si c'est le cas, veuillez m'en excuser ...
C'était mon euphorie du moment.
Modifié en dernier par pomme11 le 13 oct. 2005, 15:06, modifié 1 fois.