Page 1 sur 1

Conserver les données POST lors d'une redirection

Publié : 07 janv. 2007, 17:52
par calimo
Bonjour,

Est-ce qu'il y a un moyen, lors d'une redirection, de forcer le navigateur à conserver les données POST ?

Je pourrais les passer en GET, mais je préfèrerais les garder en post (il pourrait bien y avoir pas mal de données, y-compris des fichiers binaires, qui sont donc bien mieux en post !). Donc s'il y a une petite technique… (j'en doute mais on ne sait jamais !)

Publié : 08 janv. 2007, 01:05
par lpgc
bonjour Calimo, :D ( j'ai pas la réponse ! )

En fait, il me semble avoir un problème équivalent... pas facile à expliquer

J'ai un lien sur une image ( panier.jpg ) qui devrait fair cela : ( aaa et xxxx sont des sites externes )
Mais au lieu d'utiliser le paramètre desturl proposé :
je voudrai utiliser la FORM Recherche d'une autre page :
En écrivant ceci je viens peut être de trouver une solution

je vais essayer de rediriger vers une de mes pages :
desturl=ma_page.asp qui pourra ainsi remplir la FORM de www.xxxx.com/recherche.htm

Cordialement
Christian

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9

Publié : 08 janv. 2007, 08:17
par Benoit
Tu peux toujours utiliser mod_rewrite, multiviews ou quelque chose du genre, où ça devrait être fait automatiquement :)

Publié : 08 janv. 2007, 11:16
par lpgc
bonjour, :D

:?: Serait il possible d'expliquer un peu comment çà fonctionne

Je crois savoir que pour envoyer un gros volume d'informations au serveur

on utilise une FORM ( post )

et comme paramètres à l'URL ( get ) www.xxx.com?param1=aa&param2=bb

quand le volume est plus faible ( quelques caractères : maximum ?? )

Je crois également savoir que pour envoyer ce volume important d'informations
Le browser ( FORM ) ouvre un nouveau socket spécifique pour se connecter au serveur ?

Comment serait il possible alors de rediriger les informations d'une FORM d'une première page sur la FORM d'une 2 ième page

Sans faire le travail soi même de lire les infos de la FORM 1 pour les remettre sur la FORM 2

Et Où le travail se fait il ?? Est ce côté client OU côté Serveur ??

Merci pour un peu plus d'info afin d'éclairer ma lanterne
et éventuellement où est il possible de trouver un tutorial pour la proposition de Benoit :?:

Cordialement
Christian

PS. Le serveur lit la FORM... mais la redirection est ce côté Serveur OU côté client ? ...
donc est ce que la page de la FORM 1 est envoyée sur le Client et puis la page de la FORM 2
OU le serveur détecte la redirection et envoie directement la FORM 2
( comme on peut placer une tempo sur la redirection, je suppose que çà se fait côté client ?? )

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9

Publié : 08 janv. 2007, 14:16
par calimo
Benoit a écrit :Tu peux toujours utiliser mod_rewrite, multiviews ou quelque chose du genre, où ça devrait être fait automatiquement :)
Beh non, pas possible, ce serait trop bô :?
Ce n'est pas dans apache :(

En fait j'ai besoin de rediriger les pages blabla vers blabla/ j'ai donc une regexp qui fait ça. Ça envoie un 302 Found au navigateur suivi d'un "Location" contenant le / final. Et là, c'est le drame ! Les données post sont évidemment perdues :?

@ LPGC: c'est pas sympa de squatter mon sujet :P
Cela dit, comme toujours, tu trouveras plein d'infos sur wikipédia :wink:
http://en.wikipedia.org/wiki/Http_redir ... Techniques

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9

Publié : 08 janv. 2007, 15:44
par Asumbaa
calimo a écrit :En fait j'ai besoin de rediriger les pages blabla vers blabla/ j'ai donc une regexp qui fait ça. Ça envoie un 302 Found au navigateur suivi d'un "Location" contenant le / final. Et là, c'est le drame ! Les données post sont évidemment perdues :?
Salut Calimo,

Est-ce que ce serait ce genre de souci ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Publié : 08 janv. 2007, 17:14
par Bobe
calimo a écrit :En fait j'ai besoin de rediriger les pages blabla vers blabla/ j'ai donc une regexp qui fait ça. Ça envoie un 302 Found au navigateur suivi d'un "Location" contenant le / final. Et là, c'est le drame ! Les données post sont évidemment perdues :?
Normalement, les redirections doivent être suivies en reprenant la méthode http de la requête d'origine.
La doc indique que pour le code 302, la redirection se fait souvent en GET par les agents utilisateurs mais que c'est une erreur:
http://www.w3.org/Protocols/rfc2616/rfc ... #sec10.3.2

Essaie plutôt avec une redirection temporaire (307 "Temporary Redirect").
Ou cherche un moyen d'éviter d'avoir besoin de faire cette redirection.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061208 Firefox/2.0.0.1

Publié : 09 janv. 2007, 08:50
par calimo
Bobe a écrit :Essaie plutôt avec une redirection temporaire (307 "Temporary Redirect").
Ou cherche un moyen d'éviter d'avoir besoin de faire cette redirection.
Le problème c'est que ça veut dire mettre des liens absolus partout pour que, par exemple, un ../ soit équivalent sur la page http://.../foo/bar et http://.../foo/bar/ :?

Bon, je vais travailler dans cette direction alors :lol: (en fait c'est un peu ce que je craignais, je voulais surtout avoir confirmation de ma supposition).

@Asumbaa: merci, mais en fait la page http://.../foo/bar fonctionne bien, c'est juste qu'un lien ../ y a un comportement inattendu et on revient à http://.../ au lieu de se retrouver sur http://.../foo/ s'il y a un slash final... :wink:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9

Edit : @lpgc: tu pourrais éditer ton message avec le lien très long pour le mettre dans un
? C'est très désagréable cette scrollbar :roll: