Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2008, 12h22   #1
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
Par défaut Valeurs en Post

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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 13h27   #2
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
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.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 13h29   #3
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 13h38   #4
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Une fois que tu as fini de sauver toutes tes infos, tu peux faire un redirect sur ta page affiche_client?id_salarie=24.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 13h40   #5
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 14h10   #6
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
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.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 14h12   #7
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 17h05   #8
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
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 ?
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 17h07   #9
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 17h46   #10
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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.
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 17h51   #11
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 18h48   #12
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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 :
1
2
3
4
 
session_start();
$_SESSION['var1'] = $var1;
//redirection
page2
Code :
1
2
session_start();
$var1 = $_SESSION['var1'];
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 19h14   #13
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 19h34   #14
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
Faire cohabiter les deux ?
A ce stade, je pense qu'il faudrait que tu montres ton code pour éclaircir, et pour parler concrètement.
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 19h37   #15
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
Je vous fait ca des que j'ai un peu de temps et je vous ferait un schéma du cheminement aussi
__________________
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 20h04   #16
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 21h31   #17
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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 ...
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 21h41   #18
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 22h44   #19
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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 ...
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2008, 22h48   #20
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h39.


 
 
 
 
Partenaires

Hébergement Web