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 :

Variables POST perdues -> nombre max ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 93
    Par défaut Variables POST perdues -> nombre max ?
    Bonjour à tous,

    Pour une appli web scientifique, j'ai un giga formulaire qui ramène plus de 1000 variables POST.

    Lors de test, je m'aperçois que le serveur tronque le tableau $_POST à environ 950 variables (ce n'est pas régulier). J'ai modifié le php.ini pour un post_max_size à 16 Mo au lieu de 8Mo (ce qui est déjà énorme, il n'y a pas de fichier, juste quelques caractères par variables).

    Mon problème ressemble à celui-ci, mais l'auteur n'indique pas quelle extension limitait le nombre de variables.

    Une idée ?

    Merci d'avance,

  2. #2
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    je ne sais pas si cela pourrais t'aider ni si cela marche mais tu pourrais peut être en envoyer la moitié via la méthode post et l'autre moitié via la méthode get (je ne connais pas la limite de get).

    voila c'était juste une idée mais je ne sais pas vraiment si ca pourrai marcher...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 93
    Par défaut
    Mmh... Les limites du GET dépendent des navigateurs.

    C'est peut-être possible, mais disons que ce sera la rustine temporaire d'urgence. Je préfère résoudre la question du POST.

  4. #4
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    bonjour

    tente un message privé. sinon desactive tes extensions une a une ... et tu seras à l'abris de rien.

    je vois bien un workaround avec un peu d'ajax...
    je suis sur qu'un formulaire de 1000 champs c'est imbitable y compris pour un Scientifique. tu peux faire une configuration en 4 ou 5 pages avec navigations dans les pages et sauvegarde des variables non affichées dans $_SESSION.

    une url a un nombre de caractère maximum, comme tout ici bas. il est assez élevé mais avoir des liens qui pèse à l'url seule 20k c'est stupide.

    En plus une présentation plus réfléchies -> plus facile à lire
    plus facile à lire -> moins d'erreur
    moins d'erreur -> plus de résultats

  5. #5
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 428
    Par défaut
    Bonjour,
    Je ne sais pas de quel type de formulaire il s'agit, mais faisant aussi pas mal de formulaires à caractères scientifiques, il n'est pas rare de devoir rapatrier plus de 1000 champs, comme par exemple une sélection de séquences.
    Je viens de refaire un test sur une de mes applis et je récupère sans problème 1380 données en POST.
    Dans mon cas, il s'agit de données complètement homogènes. Mes champs passés en post sont du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="checkbox" name="tableau[id_sequence]">
    La récupération se fait ensuite comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    $tab=$_POST['tableau'];
    ?>
    Apres je ne sais pas si le comportement est le même avec d'autre types d'input ou si il existe un millier de noms de variables à récupérer au lieu d'un seul....

    A noter aussi ma config :
    Apache (es-tu sous IIS ?) / PHP5 sous Centos

    Je n'ai rien vu dans le php.ini, ni dans httpd.conf et autres .conf qui correspondrait à un nombre maximum de variables pouvant passer... mais je ne suis pas experte dans ce domaine non plus !

    Bon courage,

    Sohnic

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 93
    Par défaut
    Merci de vos réponses.

    Gene69 (génération 69 ?), qu'appelles-tu "message privé" ?

    Il est effectivement possible de découper le formulaire, mais c'est franchement pas top, et pas plus facile à lire dans mon cas.

    Sinon, oui, il me restera à mettre de l'Ajax pour valider chaque donnée lors de la sortie de champs texte ou onselect.... Je m'y prépare, ça a son intérêt mais c'est quand même un poil plus compliqué.

    Pour le reste, je suis sous Apache / Mandriva.

    Aucune idée des extensions qui peuvent être à l'origine de ce bug ?

  7. #7
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 428
    Par défaut
    Bonjour,
    Non, toujours aucune idée...
    Le bug est peut-être ailleurs... As-tu regardé les logs d'erreurs d'apache (et ceux d'accès aussi d'ailleurs) ?

    N'étant pas dans ton script c'est dur de voir ce qui peut clocher. Par exemple, procèdes-tu à des insertions en bases de données, sans avoir escapé les apostrophes, et sans die if mysql_error() suivant tes requêtes.
    Affiches-tu les erreurs de tes scripts, ou ton php.ini l'empêche ?

    S.

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Je remonte ce post vieux de plusieurs mois car je suis tombé dessus en cherchant les éventuelles limitations des post par ajax.

    Comme cité dans le lien du premier message de ce topic, certains modules peuvent permettre la limitation du nombre de post php, et c'est le cas pour le module suhosin, par exemple :

    suhosin.post.max_vars = 1000
    suhosin.request.max_vars = 1000

    Il existe peut-être maintenant l'équivalent avec les dernières versions php, mais n'étant pas spécialiste de l'administration serveur je ne peux pas vous en dire plus.

Discussions similaires

  1. $.post avec un nombre de clé/valeurs variable ?
    Par Warno dans le forum jQuery
    Réponses: 2
    Dernier message: 18/11/2009, 00h39
  2. Nombre max de connexions autorisées
    Par omillien dans le forum Oracle
    Réponses: 4
    Dernier message: 04/01/2006, 16h28
  3. Réponses: 3
    Dernier message: 24/10/2005, 16h59
  4. Tester qu'une variable varchar est un nombre
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/06/2005, 13h29
  5. Nombre max de connections MySQL ?
    Par RorolePro dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/11/2004, 14h16

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