KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Samedi 17 mai 2008 - 21:18:48

Formulaire conserver les données

Rechercher : dans
Formulaire conserver les données
par David
 Fil de Discussions
Statut : Résolu
vendredi 3 août 2007 à 12:58:35
Bonjour,

Voilà mon problème:

Je propose un formulaire (form 1), quand l'internaute valide, une page de contrôle de la saisie (controle 1) pour l'internaute (j'utilise l'input hiden pour conserver les données) apparait.

Lorsque l'internaute à vérifier et valide, un second formulaire (form 2) apprait, avec le même principe de page de contrôle (contrôle 2).

Enfin, la dernière page (page finale) centralise toutes les réponses saisies par l'internaute.

Mon problème est que les données de la de form 1 se tranmettent bien à Controle 1 mais pas à contrôle 2 et à page finale.

En quelque sorte, les données se perdent d'une page à l'autre.

Auriez vous une idée sur mon problème ?

Merci

David
Configuration: Windows XP
Internet Explorer 6.0
Répondre à David  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par JoloKossovar, le vendredi 3 août 2007 à 15:17:27 Fil de Discussions
Salut ^^
je suppose que tu utilise Struts ?

Si tel est le cas, tu n'as pas besoin d'avoir une page de control de saisie, tu peux géré ca avec la fonction validate de ton Form.

Pour ton probleme, il suffirai de garder tes variables que tu transferai de control1 a form 2 et de form 2 a control2(logique) en passant par les jsp, avec des requestSetparameters et des getparameters. Tu met tes variables dans tes forms en hidden pour les envoyer au controlleurs. Meme si le controlleurs n'agit pas sur ces varaibles tu peux toujours les garder ;)

Sinon, tu peux faire une classe metiers géantes ou tu mettrai toutes les varaibles qui t'interessent afin de les valider a la fin(page finale).

est ce clair ? ^^
Répondre à JoloKossovar

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par david, le vendredi 3 août 2007 à 19:46:54 Fil de Discussions
MErci beaucoup pour ton aide, j'ai trouvé mon erreur. j'avais placé au mauvais endroit les input.

Maintenant ça marche

Encore merci
Répondre à david

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Masta, le mercredi 17 octobre 2007 à 15:25:14 Fil de Discussions
Bonjour, désolé de remonter cet ancien topic mais ça correspond tout à fait à mon problème.

Donc voilà, je débute sur Struts et j'ai le même problème que David mais je n'ai pas réussis à le résoudre.
Je m'explique, en gros j'ai un premier formulaire, quand l'internaute valide on passe directement au 2eme formulaire, et lorsqu'on le valide on a un récapitulatif de toutes les informations saisies dans les 2 formulaires.

Comme David, les données saisies dans le premier formulaire ne s'affichent pas à la fin ( null ). Et ce même en passant les données du premier formulaire en caché dans le 2eme. Bon, j'aimerai bien trouver une solution sans avoir à les passer de cette manière de toute façon... mais j'ai juste essayé dans le doute.

Voilà mes fichiers (j'ai enlevé les parties inutiles pour plus de lisibilité) :






[--------------------------formulaire.personne.jsp-------------------------------]

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

...

<html:form action="/validerFormulaire1">
	<table>
		<tr>
			<td>Pseudonyme</td>
			<td><html:text property="pseudo" size="15" /></td>
		</tr>
		<tr>
			<td>Mot de passe</td>
			<td><html:password property="mdp" size="15" redisplay="false" /></td>
		</tr>
		<tr>
			<td> <br></td>
		</tr>
		<tr>
			<td>Nom</td>
			<td><html:text property="nom" size="20"/></td>
		</tr>
		<tr>
			<td>Prénom</td>
			<td><html:text property="prenom" size="20" /></td>
		</tr>
		<tr>
			<td>Age</td>
			<td><html:text property="age" size="3"/></td>
		</tr>
	</table>
	<br><br>
	<table>
		<tr>
			<td><html:submit value="Valider"/></td>
			<td><html:reset value="Rétablir"/></td>
			<td><html:button property="btnEffacer" value="Effacer" onclick="effacer()"/></td>
		</tr>
	</table>
</html:form>


[-------------------------formulaire2.personne.jsp-----------------------------]

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<%

	// on récupère les données
	String pseudo = (String)request.getAttribute("pseudo");
	String mdp = (String)request.getAttribute("mdp");
	String prenom = (String)request.getAttribute("prenom");
	String nom = (String)request.getAttribute("nom");
	String age = (String)request.getAttribute("age");
	
%>

...

<html:form action="/validerFormulaire2">
	<table>
		<tr>
			<td>Adresse</td>
			<td><html:text property="adresse" size="50"/></td>
		</tr>
		<tr>
			<td>Code Postal</td>
			<td><html:text property="cp" size="5"/></td>
		</tr>
		<tr>
			<td>Ville</td>
			<td><html:text property="ville" size="20"/></td>
		</tr>
		<tr>
			<input text name="pseudo" value="<%=pseudo%>" type="hidden" />
			<input text name="mdp" value="<%=mdp%>" type="hidden"  />
			<input text name="nom" value="<%=nom%>" type="hidden"  />
			<input text name="prenom" value="<%=prenom%>" type="hidden"  />
			<input text name="age" value="<%=age%>" type="hidden"   />
		</tr>
	</table>
	

	
	<table>
		<tr>
			<td><html:submit value="Valider"/></td>
			<td><html:reset value="Rétablir"/></td>
			<td><html:button property="btnEffacer" value="Effacer" onclick="effacer()"/></td>
		</tr>
	</table>
</html:form>



[-----------------------resultat.personne.jsp-------------------------------]

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>


<%
	       // on récupère les données
	       String pseudo = (String)request.getAttribute("pseudo");
	       String mdp = (String)request.getAttribute("mdp");
	       String nom = (String)request.getAttribute("nom");
	       String prenom = (String)request.getAttribute("prenom");
	       String age = (String)request.getAttribute("age");
	       String adresse = (String)request.getAttribute("adresse");
	       String cp = (String)request.getAttribute("cp");
	       String ville = (String)request.getAttribute("ville");

%>

...

<table>
	<tr>
		<td>Pseudo</td>
		<td><%= pseudo %>
	</tr>
	<tr>
		<td>Mot de passe</td>
		<td><%= mdp %>
	</tr>

etc...


[----------------------struts-config.xml-----------------------------]

<struts-config>
               
	<form-beans>
		<form-bean 
			name="frmPersonne"       
		  	type="org.apache.struts.validator.DynaValidatorForm" 
		  >                    
		  	<form-property name="pseudo" type="java.lang.String" initial="" />
		  	<form-property name="mdp" type="java.lang.String" initial="" />
		  	<form-property name="nom" type="java.lang.String" initial="" />
		  	<form-property name="prenom" type="java.lang.String" initial="" />
		  	<form-property name="age" type="java.lang.String" initial="" />
		</form-bean>                     
		                           
		<form-bean                       
			name="frmPersonne2"     
			type="org.apache.struts.validator.DynaValidatorForm"
		>                                
			<form-property name="adresse" type="java.lang.String" initial="" />
			<form-property name="cp" type="java.lang.String" initial="" />
			<form-property name="ville" type="java.lang.String" initial="" />			
		</form-bean>              
	</form-beans>                     

	<action-mappings>                 
		<action                   
			path="/validerFormulaire1"       
			name="frmPersonne" 
			scope="session"
			validate="true"
			input="/erreurs.do"
			type="FormulaireAction"
		>
			<forward name="reponse" path="/formulaire2.do" />
		</action>
		
		<action 
			path="/validerFormulaire2"
			name="frmPersonne2"
			scope="session"
			validate="true"
			input="/erreurs.do"
			type="FormulaireAction2"
		>
			<forward name="reponse2" path="/resultat.do" />
		</action>

		<action 
			path="/erreurs"
			parameter="/vues/erreurs.personne.jsp"
			type="org.apache.struts.actions.ForwardAction" 
		/>
		
		<action
			path="/formulaire"
			parameter="/vues/formulaire.personne.jsp"
			type="org.apache.struts.actions.ForwardAction"
		/>
		
		<action 
			path="/formulaire2"
			parameter="/vues/formulaire2.personne.jsp"
			type="org.apache.struts.actions.ForwardAction"
		/>
		
		<action 
			path="/resultat"
			parameter="/vues/resultat.personne.jsp"
			type="org.apache.struts.actions.ForwardAction"
		/>
	</action-mappings>

	<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
		<set-property
			property="pathnames"
			value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"
		/>
	</plug-in>

	<message-resources parameter="ressources.personneressources" null="false"/>

</struts-config>



Voilà, désolé pour la présentation, ça fait quand même un peu "fouilli"...
Le problème vient peut être du fait que j'utilise un FormulaireAction pour chaque formulaire (FormulaireAction pour le premier, et FormulaireAction2 pour le 2eme) ?
Mais je ne vois pas vraiment comment organiser le FormulaireAction pour qu'il s'occupe de 2 formulaires différents...


Répondre à Masta

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Masta, le mercredi 17 octobre 2007 à 15:28:20 Fil de Discussions
Oulà, désolé pour la page déformée <.<
La prévisualisation ne m'avait pas montré ça >.>
Répondre à Masta

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par ExpertDebutant, le jeudi 27 mars 2008 à 16:16:01 Fil de Discussions 
Salut,tu peux utiliser les balises nested lorsque tu aura plusieurs formulaire.
ou bien tu envoi tes truc par session
Répondre à ExpertDebutant
Discussions pertinentes trouvées dans le forum
23/12 14h58Formulaire insertion données dans MySQL PHPWebmastering23/12 17h591
13/12 11h36Formulaire quiz donner scoreWebmastering13/12 12h334
09/09 15h01"formulaire" recup donnée sous safariWebmastering13/09 21h414
10/08 15h19formulaire -envoi donnévers une base 2 donnéProgrammation10/08 15h190
Plus de discussions sur « Formulaire conserver les données » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide