Combien de parmetres possibles dans une url???

Cyr
Invité n'ayant pas de compte PHPfrance

06 déc. 2006, 01:10

Bonsoir à toute la communauté,

Lorsque l'on passe des paramètres dans une url (du genre :
href = mapage.php?param1=tata&param2=toto&...&paramN=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

Mammouth du PHP | 1776 Messages

06 déc. 2006, 01:21

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 :lol:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

06 déc. 2006, 01:30

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...

Cyr
Invité n'ayant pas de compte PHPfrance

06 déc. 2006, 01:37

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 :lol:
En fait je suis déjà bloqué (ma question n'était pas innocente... :D ).
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 :cry:

Merci en tout cas à tous les 2 pour ces premiers éléments de réponse.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

06 déc. 2006, 01:40

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

Cyr
Invité n'ayant pas de compte PHPfrance

06 déc. 2006, 01:47

:idea: 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é?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

06 déc. 2006, 01:56

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 ! ;)

Cyr
Invité n'ayant pas de compte PHPfrance

06 déc. 2006, 02:02

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 !!
:mrgreen:

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 :sleeping: )

Merci encore pour les infos et suggestions.
Je pense que le sujet est RESOLU.
A+

Mammouth du PHP | 1776 Messages

06 déc. 2006, 03:15

des sites comme mappy gèrent des nombreux paramètres dans l'url...
Pourquoi eux ne serait-ils pas limités ? :roll:

Invité
Invité n'ayant pas de compte PHPfrance

06 déc. 2006, 05:09

pas sûr que ca soit du php

Mammouth du PHP | 1776 Messages

06 déc. 2006, 09:36

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

ViPHP
ViPHP | 1961 Messages

06 déc. 2006, 10:02

Bonjour,
des sites comme mappy gèrent des nombreux paramètres dans l'url...
Pourquoi eux ne serait-ils pas limités ? :roll:
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

Code : Tout sélectionner

ess3.php?a=0&b=1&c=2&d=3&e=4&f=5&g=6&h=7&i=8&j=9
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 !
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 déc. 2006, 10:02

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 ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 1961 Messages

06 déc. 2006, 10:28

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 ?
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Cyr
Invité n'ayant pas de compte PHPfrance

06 déc. 2006, 12:32

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.