Page 1 sur 1

passage de variable en popup, problème de longueur

Posté : 01 mars 2007, 18:46
par matt
Bonjour à tous,

J'ouvre une popup avec un paramètre:

Code : Tout sélectionner

monExport=window.open("gen_XLS.php?query=<?php echo $requeteLocation; ?>", null, 'width=890, height=300, status=no, directories=no, toolbar=no, location=no, menubar=no, resizable=yes,scrollbars=yes');
et dans la popup comme vous pouvez le lire je génère un fichier xls.
Quand la requête est trop longue j'ai un message me disant que l'url est trop long.
Quand j'utilise le caractère & dans la requête ça plante aussi.

Avez vous une idée pour récupérer différemment ma variable?

merci à tous et bonne fin de journée

Posté : 01 mars 2007, 18:48
par orgerix
Par cookie, mais il faut que l'utiisateur accèpte les cookies...

Posté : 01 mars 2007, 18:49
par matt
arf oui bonne idée mais risquée !! tu penses qu'il peut y avoir une autre solution? genre AJAX ..... ou autre

Posté : 01 mars 2007, 18:51
par orgerix
Je sais pas, je ne connais que l'HTML, le PHP et le SQL

Posté : 01 mars 2007, 19:47
par Hywan
Bonsoir :)

Le cookie est presque plus sécurisé pour des utilisateurs basiques qu'un passage d'information par $_GET.

Sinon, si tu veux rester sur la solution du $_GET, tu peux peut-être partager ta requête $requeteLocation en plusieurs sous-requêtes que tu distribuerais dans plusieurs variables $_GET.

Par exemple, $requeteLocation contient 4 informations. Tu peux faire gen_XLS.php?query1=<ma_premiere_requete>&query2=<ma_seconde_requete> etc.
Ca peut faire une différence. Mais pas toujours.
Il faut voir si c'est la longueur de la variable qui est trop longue, ou de l'URL dans sa totalité.
Note que la longueur des URLs varient selon les navigateurs !

Sinon, si vraiment ta requête est trop longue, tu devrais t'orienter vers une solution cookie ou session. Je ne vois pas vraiment d'autre solution :s


Bonne soirée :)