IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Nombre de champs limité dans formulaire


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Nombre de champs limité dans formulaire
    Bonjour à tous,

    Il semble que le nombre d'input soit limité dans un formulaire HTML. Je veux dire que si le navigateur peut en afficher "beaucoup" (je n'ai pas testé la limite), PHP ne me retourne pas plus de 200 input dans $_POST après la validation du formulaire. Voir le code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
     
    $nbinput=400;
     
    if ( !( isset($_POST["test1"]) ) )
    {
    	print "<form action=\"test_post.php\" method=\"POST\">";//enctype=\"multipart/form-data\" 
    	for ($i=1;$i<=$nbinput;$i++)
    		{
    		print "$i : <INPUT id=\"test$i\"  name=\"test$i\" 
    		value=\"$i\"><br>";
    		}
    	echo "<br><input name=\"submit\" type=\"submit\" value=\"Save\">";	
    	print "</form>";
     
    }
    else
    {
    print_r($_POST);
    }
     
    ?>
    Cette limite m'ennuie beaucoup car j'ai absolument besoin d'un grand nombre d'input. Je pense que ceci est paramétrable, car mon script marchait avant, il y a quelques années, avec une configuration différente (PHP4, firefox < 3 avant, et PHP5, firerox 3 maintenant). Il semble aussi que ce paramètre se trouve au niveau de PHP et pas au niveau du navigateur car j'ai le même problème sur Firefox et Konqueror. Certes ils pourraient être paramétrés de la même façon, mais intuitivement je pense que c'est PHP qui pose problème.

    Merci pour vos réponses.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour et bienvenu sur le forum,

    Je n'ai pas reussi a reproduire ton problème, même avec 800 champs.
    En jouant sur le valeur de post_max_size, j'ai soit tout, soit rien mais pas une partie seulement du résultat.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse. Oui j'aurais du préciser. Moi quand je teste avec 400 inputs (qui s'affichent tous sur le navigateur donc) je ne récupère que les 200 premières valeurs :

    Array ( [test1] => 1 [test2] => 2 [test3] => 3 [test4] => 4 [test5] => 5 [test6] => 6 [test7] => 7 [test8] => 8 [test9] => 9 [test10] => 10 [test11] => 11 [test12] => 12 [test13] => 13 [test14] => 14 [test15] => 15 [test16] => 16 [test17] => 17 [test18] => 18 [test19] => 19 [test20] => 20 [test21] => 21 [test22] => 22 [test23] => 23 [test24] => 24 [test25] => 25 [test26] => 26 [test27] => 27 [test28] => 28 [test29] => 29 [test30] => 30 [test31] => 31 [test32] => 32 [test33] => 33 [test34] => 34 [test35] => 35 [test36] => 36 [test37] => 37 [test38] => 38 [test39] => 39 [test40] => 40 [test41] => 41 [test42] => 42 [test43] => 43 [test44] => 44 [test45] => 45 [test46] => 46 [test47] => 47 [test48] => 48 [test49] => 49 [test50] => 50 [test51] => 51 [test52] => 52 [test53] => 53 [test54] => 54 [test55] => 55 [test56] => 56 [test57] => 57 [test58] => 58 [test59] => 59 [test60] => 60 [test61] => 61 [test62] => 62 [test63] => 63 [test64] => 64 [test65] => 65 [test66] => 66 [test67] => 67 [test68] => 68 [test69] => 69 [test70] => 70 [test71] => 71 [test72] => 72 [test73] => 73 [test74] => 74 [test75] => 75 [test76] => 76 [test77] => 77 [test78] => 78 [test79] => 79 [test80] => 80 [test81] => 81 [test82] => 82 [test83] => 83 [test84] => 84 [test85] => 85 [test86] => 86 [test87] => 87 [test88] => 88 [test89] => 89 [test90] => 90 [test91] => 91 [test92] => 92 [test93] => 93 [test94] => 94 [test95] => 95 [test96] => 96 [test97] => 97 [test98] => 98 [test99] => 99 [test100] => 100 [test101] => 101 [test102] => 102 [test103] => 103 [test104] => 104 [test105] => 105 [test106] => 106 [test107] => 107 [test108] => 108 [test109] => 109 [test110] => 110 [test111] => 111 [test112] => 112 [test113] => 113 [test114] => 114 [test115] => 115 [test116] => 116 [test117] => 117 [test118] => 118 [test119] => 119 [test120] => 120 [test121] => 121 [test122] => 122 [test123] => 123 [test124] => 124 [test125] => 125 [test126] => 126 [test127] => 127 [test128] => 128 [test129] => 129 [test130] => 130 [test131] => 131 [test132] => 132 [test133] => 133 [test134] => 134 [test135] => 135 [test136] => 136 [test137] => 137 [test138] => 138 [test139] => 139 [test140] => 140 [test141] => 141 [test142] => 142 [test143] => 143 [test144] => 144 [test145] => 145 [test146] => 146 [test147] => 147 [test148] => 148 [test149] => 149 [test150] => 150 [test151] => 151 [test152] => 152 [test153] => 153 [test154] => 154 [test155] => 155 [test156] => 156 [test157] => 157 [test158] => 158 [test159] => 159 [test160] => 160 [test161] => 161 [test162] => 162 [test163] => 163 [test164] => 164 [test165] => 165 [test166] => 166 [test167] => 167 [test168] => 168 [test169] => 169 [test170] => 170 [test171] => 171 [test172] => 172 [test173] => 173 [test174] => 174 [test175] => 175 [test176] => 176 [test177] => 177 [test178] => 178 [test179] => 179 [test180] => 180 [test181] => 181 [test182] => 182 [test183] => 183 [test184] => 184 [test185] => 185 [test186] => 186 [test187] => 187 [test188] => 188 [test189] => 189 [test190] => 190 [test191] => 191 [test192] => 192 [test193] => 193 [test194] => 194 [test195] => 195 [test196] => 196 [test197] => 197 [test198] => 198 [test199] => 199 [test200] => 200 )

    J'avais post_max_size à 8M. J'ai essayé avec 16M et cela ne change rien...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Meme avec 800 enregistrements on est très loin du megaoctet de toute facon.
    J'ai essayé en reduisant d'autres paramètres mais non ...
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai trouvé ! C'est à cause de Suhosin, un patch PHP que je n'avais pas sur mon ancienne distribution Linux (une Mandrake). Là j'ai Ubuntu 10.0. Ce patch sert apparemment à renforcer la sécurité de PHP.

    Il faut jouer sur les paramètres suivants du fichier /etc/php5/apache2/conf.d/suhosin.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    suhosin.post.max_vars = 400
    suhosin.request.max_vars = 400
    Ces paramètres étaient à 200 par défaut.

    Merci pour ton aide Sabotage

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Décidément ce Suhosin est à l'origine de nbreux maux.
    Vu récemment http://www.developpez.net/forums/d73...r/taille-_get/
    Merci pour le retour
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Champs obligatoires dans formulaire
    Par obehin dans le forum Langage
    Réponses: 6
    Dernier message: 15/04/2012, 10h13
  2. Réponses: 5
    Dernier message: 31/03/2007, 22h36
  3. nombre d'enregistrements limite dans une table sql
    Par lilou229 dans le forum Outils
    Réponses: 3
    Dernier message: 30/01/2007, 15h21
  4. Réponses: 2
    Dernier message: 30/04/2006, 20h22
  5. Réponses: 1
    Dernier message: 06/11/2005, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo