Page 1 sur 2
Combien de parmetres possibles dans une url???
Posté : 06 déc. 2006, 01:10
par Cyr
Bonsoir à toute la communauté,
Lorsque l'on passe des paramètres dans une url (du genre :
href = mapage.php?param1=tata¶m2=toto&...¶mN=tntn), savez vous si l'url en question va "bloquer" (ou ne renvoyer qu'une page vide) si il y a trop de paramètres??
Question pas innocente bien sur...

Merci d'avance pour vos réponses
Posté : 06 déc. 2006, 01:21
par DocType
D'après moi, un blocage doit intervenir, mais ce serait plus un blocage logiciel qu'un blocage volontaire...un blocage de la part du navigateur utilisé. Maintenant, tu as le temps de voir venir

Posté : 06 déc. 2006, 01:30
par albat
Je crois que la limite est en nombre de caractères : 63
J'ai aussi entendu parler de "3 paramètres maxi",
mais je pense que c'était au sujet du référencement par Google.
À vérifier...
Posté : 06 déc. 2006, 01:37
par Cyr
D'après moi, un blocage doit intervenir, mais ce serait plus un blocage logiciel qu'un blocage volontaire...un blocage de la part du navigateur utilisé. Maintenant, tu as le temps de voir venir

En fait je suis déjà bloqué (ma question n'était pas innocente...

).
J'aurais en tout 6 paramètres à passer. Ca fonctionne jusqu'à 3 mais quand j'ajoute le 4ème ca bloque. La remarque de albat est peut-être juste.
Pour tout vous dire, parmis mes 6 paramètres j'ai 2 strings et 4 array (que je sérialize dans un 1er temps et que je déserialize sur ma page de sortie grace à un $GET).
Il va falloir que je revoie mes plans
Merci en tout cas à tous les 2 pour ces premiers éléments de réponse.
Posté : 06 déc. 2006, 01:40
par albat

Et pourquoi tu ne passerais pas certains de ces paramètres par les sessions ?

Posté : 06 déc. 2006, 01:47
par Cyr

Et pourquoi tu ne passerais pas certains de ces paramètres par les sessions ?

J'étais précisement en train de me documenter sur les sessions. Cela peut effectivement être une bonne idée. Reste à savoir si cela ne va pas me faire monter une usinagaz. L'appli sur laquelle je travaille tourne déjà. Je cherchais juste (grâce au passage de paramètres) à optimiser l'existant en supprimant certaines requêtes redondantes. Même au nom de l'optimisation, celà m'ennuierai de compliquer qq chose de déjà suffisament complexe comme celà.
D'aprés toi, il y a des limites au nombre de valeurs passées en sessions?? Je veux dire : c'est une voie "efficace"? ou bien soumise à des contraintes de quantité?
Posté : 06 déc. 2006, 01:56
par albat
Je ne maîtrise pas assez le sujet pour te donner une réponse absolue.
Mais je peux t'assurer que, par les sessions, tu peux passer bien plus que 3 paramètres !

Posté : 06 déc. 2006, 02:02
par Cyr
Je ne maîtrise pas assez le sujet pour te donner une réponse absolue.
Mais je peux t'assurer que, par les sessions, tu peux passer bien plus que 3 paramètres !

Excellent !!
D'autant plus que je viens de tomber sur un exemple ou 8 pamètres sont passés en sessions (dont 5 array!!).
Ca n'a pas l'air trés compliqué à première vue.. Allez j'me lance, banco pour les sessions (mais pas maintenant...ca fais tard

)
Merci encore pour les infos et suggestions.
Je pense que le sujet est RESOLU.
A+
Posté : 06 déc. 2006, 03:15
par DocType
des sites comme mappy gèrent des nombreux paramètres dans l'url...
Pourquoi eux ne serait-ils pas limités ?

Posté : 06 déc. 2006, 05:09
par Invité
pas sûr que ca soit du php
Posté : 06 déc. 2006, 09:36
par DocType
Pour illuster :
Code : Tout sélectionner
http://www28.mappy.com/sidBJ6YrgAc7/HMn21w/ACFGT?anchor=0&option=0&xsl=2&ivsl1=v1&ivsl2=v2&ivsl3=v3&isl=i0&sel=europe&csl=i1%2Cv1%2Cv2%2Cv3%2Ci2&fsl=i1%2Cv1%2Cv2%2Cv3%2Ci2&gsl=i1%2Cv1%2Cv2%2Cv3%2Ci2&out=2&issl=i1&iesl=i2&imult=0&flash=1&iveh=car&isveh=sedcar&wni1=&wci1=&noi1=&tni1=dunkerque&pci1=&tci1=&a10i1=&xi1=&yi1=&csi1=4326&CAN=&USA=&cci1=250&wni2=&wci2=&noi2=&tni2=paris&pci2=&tci2=&a10i2=&xi2=&yi2=&csi2=4326&CAN=&USA=&cci2=250&imode=0&x=0&y=0
Posté : 06 déc. 2006, 10:02
par Ajoloca
Bonjour,
des sites comme mappy gèrent des nombreux paramètres dans l'url...
Pourquoi eux ne serait-ils pas limités ?

Je ne crois pas que le nombre de paramètres soit la première limite.
Avec ce code
<?php
foreach($_GET as $key => $value) echo $key . ' = ' . $value . '<br/>';
?>
et une URI comme celle-ci
J'obtiens
a = 0
b = 1
c = 2
d = 3
e = 4
f = 5
g = 6
h = 7
i = 8
j = 9
Par contre avec un seul paramètre et 101 caractères ça plante !
Posté : 06 déc. 2006, 10:02
par zeus
Il me semble, en ce qui concerne les GETDATA, qu'il n'y a pas de limitations de parametres mais qu'il y a limitation sur la taille totale qui est, je crois, de 255 caractères à partir du "?"
Avec des tableaux sérialisés, il est très facile d'atteindre cette limite.
Après, la conséquance, je pense que l'url est tronquée mais qu'il n'y a pas de blocage particulier. Il n'y a que la page cible qui sera perdu puisqu'elle n'a pas tous les parametres qu'elle attend

Posté : 06 déc. 2006, 10:28
par Ajoloca
Re,
Là j'ai un souci,
Avec le même code (plus haut) si j'appelle le script par
http://localhost/....
je passe sans PB 300 caractères
Si je l'appelle par
http://www. .....
Je bloque à 101
Pourquoi?????
Qui limite ?
Posté : 06 déc. 2006, 12:32
par Cyr
Après, la conséquance, je pense que l'url est tronquée mais qu'il n'y a pas de blocage particulier. Il n'y a que la page cible qui sera perdu puisqu'elle n'a pas tous les parametres qu'elle attend

Je vois que mon petit pb vous interesse, j'en suis ravi
Zeus : c'est exactement ce qui m'arrive. je n'ai pas de blocage ou de plantage particulier. Mais ma page de sortie ne s'affiche pas car il lui manque des paramètres (c'est en tout cas ce que me montrent mes tests).
Pour info, mes 4 array non serialisés représentent à la louche 180 caractères en tout.