|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() |
Bonjour,
ca faisait très longtemps que je n'était pas passez ici mais la je dois avouer que j'ai besoin de votre aide car je ne vois pas du tout comment faire. J'ai un formulaire qui envoye des donner en POST, il s'agit en fait d'un formulaire ou l'on choisit une personne et cela nous affiche des infos sur la personne. Jusque llà aucun problème. Sur la page affiché j'ai un bouton qui me permet de modifier une info et qui m'envoye sur une autre page (avec un formulaire etc...). Une fois la modification faite, je voudrais revenir sur la page de la personne sur laquelle j'ai fait la modification mais je ne sais pas comment faire appel à ma page puisque ses parametres d'affichage (identifiant de la personne, période recherchée etc...) sont passés en POST. Je sais que ca serait beaucoup plus simple de passer le tout en GET mais je ne trouve pas ca super au niveau sécurité et de plus mon POST contient 5 éléments donc ca ferait une URL à rallonge En espérant que vous avez bien compris mon problème Merci d'avance a vous tous. Benoit
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
pourquoi ne rechargerais-tu pas ta page completement, si tu as l'ID ou autre de la personne tu peux tres bien recharger ta page.
|
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() |
j'ai toute les infos identifiant, date de debut, date de fin mais c'était justement ma question, comment je fait pour recharger la page ??
Et oui on s'apercoit que même quand c'est son métier, qu'on fait ca depuis 3 ans, on ne connait pas tout... PS : si ca peut aider voici le contenu de mon post Array ( [jour_depart] => 1 [mois_depart] => 5 [annee_depart] => 2008 [jour_fin] => 31 [mois_fin] => 5 [annee_fin] => 2008 [id_salarie] => 24 [visualiser] => Visualiser )
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
Une fois que tu as fini de sauver toutes tes infos, tu peux faire un redirect sur ta page affiche_client?id_salarie=24.
|
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() |
Pour afficher la page il ne me faut pas que l'id salarie il me faut toutes les infos du post
et si je les mets dans l'url comme ca c'est du GET donc ma page récupérant des POST ca ne marchera pas ou alors j'ai loupé une étape....
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
C'est moi qui est oublié une étape, dans la mesure ou tu as l'ID du salarié, ne peux-tu pas récupérer en base les autres infos.
|
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() |
Les infos a mettre dans le POST je les ai toutes
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
Ce process te conviendrait-il ?
1 - Tu es sur la page d'une personne 2 - Tu veux modifier une info, tu cliques sur modifier,tu vas sur ta page edition 3 - Tu modifies les infos... 4 - Tu cliques sur sauver, tu postes toutes tes infos 5 - Une fois que tu as enregistré toutes tes infos en base 6 - Tu fais un redirect sur ta page "personne" 7 - Comme tu as l'ID tu recharges toutes les infos que tu viens d'enregistrer en base Tu n'as pas besoin de trimballer ces infos en GET ou en POST. L'ID personne suffit. Est-ce que c'est bien ca que tu veux ? |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() |
Jusqu'a l'étape 6 Ok mais l'id de la personne faut que je le passe en post a ma page, c'est la que je ne vois pas comment faire
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Bonjour,
Ce ne serait pas plus simple d'utiliser les sessions ? 5- tu enregistres les infos en base et les place en session 6- tu rediriges vers la page 'personne' 7- tu affiches les infos en session Ou alors, si tu veux pouvoir utiliser la page 'personne' avec juste l'iD 5- tu enregistres les infos en BDD et mets l'ID en session 6- tu rediriges 7- tu récupères l'Id en session et récupère les infos de la base. |
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() |
Non mais toutes les infos du Post sont variables, je ne peut pas les récuperer a partir de l'id, il me les faut toutes, on peut pas envoyer quelques choses en post en meme temps que faire la redirection ?
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#12 | ||||
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Alors mets tout en session. C'est aussi facile que de les mettre dans $_POST.
Je te déconseille de 'hacker' $_POST pour y mettre des variables, même si ça marchera peut-être. $_POST et $GET sont destinés aux requêtes, et par pour stocker des variables liées à ton script. $_SESSION est là pour ça. A moins d'aller vers quelque chose de tordu comme de créer un formulaire invisible, d'y mettre des champs cachés contenant tes variables et de soumettre ce formulaire via javascript, ce qui règle du même coup transport des variables et redirection, mais tu es à la merci d'un visiteur qui désactive javascript et surtout, tes variables sont en clair dans le code source. Mais c'est très très tordu, alors qu'il suffit de faire : page 1 Code :
Code :
|
||||
|
|
00
|
|
|
#13 |
|
Membre confirmé
![]() |
Oui merci je connais les sessions mais a la base j'ai un formulaire qui affiche la page donc des données en Post, comment je peut faire cohabiter les 2...
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#14 |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Faire cohabiter les deux ?
A ce stade, je pense qu'il faudrait que tu montres ton code pour éclaircir, et pour parler concrètement. |
|
|
00
|
|
|
#15 |
|
Membre confirmé
![]() |
Je vous fait ca des que j'ai un peu de temps
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#16 |
|
Membre confirmé
![]() |
Voila vous trouverez ci-dessous un schéma qui je pense vous aidera a mieux comprendre, ce n'est pas que je veux pas mettre le code mais il est assez long donc si on peut s'en passer pour le moment ça arrangera tout le monde
Le chemin en noir est le chemin actuel, je souhaiterait moi mettre en place le chemin rouge à la place du chemin noir pour qu'après la modiffication il n'y ai pas besoin de re-choisir les valeurs dans le formulaire pour afficher Page 2
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#17 |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
Effectivement, avec un schéma, c'est beaucoup plus clair.
Je n'avais pas compris l'étape de la page 2 qui récupérait les infos en POST. J'ai eu à faire un cas similaire, et voici la solution que j'ai choisie. Ce n'est pas la meilleure, mais c'est ce que j'ai trouvé: séparer totalement le traitement de l'affichage dans l'étape 2. Donc : Page 1 : Formulaire, Variables en POST Page 2: Script de traitement des variables depuis POST: filtre, validation et mise en session des variables Page 3: Affichage des infos à partir des données en session. Si pas de modification, redirection vers le script d'inscription en BDD, qui puise ses infos depuis la session. SI modification : Page 4: Formulaire de modification, prérempli avec les infos en session. Le soumission de ce formulaire par POST renvoit au script de la page 2 (validation, mise en session), puis affichage des infos, et la boucle est bouclée. Du coup, tu t'assures que les données ne sont inscrites dans la BDD que lorsque les infos du salarié sont définitives. En gros, je déplace votre page 4 (inscription en BDD) après votre page 2 (et ma page 3), c'est-à-dire après affichage des données et acceptation. Si il est nécessaire de modifier la saisie, l'inscription en BDD saute et on repasse directement à la modification. Tout le travail se fait en session, jusqu'à l'acceptation définitive. Je ne sais pas si je suis assez clair ... |
|
|
00
|
|
|
#18 |
|
Membre confirmé
![]() |
Bah franchement j'ai rien compris
J'ai pensé a une solution dites moi ce que vous en pensez Page 4 une fois mon stockage BDD fait je stocke mes infos dans la session et je renvoye vers Page 2 Dans la page 2 au début je mets une conditionnel genre if(isset(post)) Si c'est le cas c'est donc que je viens de la Page 1 donc je remplit mes variables avec ce qui est dans le post Si c'est pas le cas je regardes si j'ai mes variables dans la session si c'est le cas je viens de la page 4 et je remplis mes variables avec ce qui est dans la session Si ce n'est ni l'un ni l'autre je n'ai pas lieu d'arriver sur cette page donc j'éjecte...
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
|
|
#19 |
|
Membre éclairé
![]() Inscription : mai 2008 Messages : 359 ![]() |
C'est un autre moyen, effectivement, et qui marche.
Le seul petit souci, c'est que tu inscrit tes données en BDD alors même qu'elles peuvent être modifiées dans l'action suivante, ce qui va entraîner un accès BDD supplémentaire (ou plusieurs accès, si l'utilisateur clique plusieurs fois sur modifier). D'où mon idée de ne placer l'accès BDD qu'à la fin, quand les données sont définitives : ![]() Ainsi, l'envoi en post vers page 2 est possible, quelle que soit la page appellante, il n'y a qu'un seul accès BDD, le formulaire de modification est prérempli, etc ... |
|
|
00
|
|
|
#20 |
|
Membre confirmé
![]() |
Vi mais de toutes facon il n'y a qu'un seul utilisateur (login&mdp) qui a acces a cette page donc impossible d'avoir plusieurs access bdd simultanés
ma solution est plus simple a mettre en place non ?
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. http://www.tethis-interactive.com |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com