Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Programmation.php

Programmation.php : $_POST tout vide

Posté par vincent LECOQ (Jabber id, page perso, ) le 14 mars 2008
Bonjour ami forum

Je me heurte a un drôle de soucis en php :

Tout formulaire ecrit dans ce drôle de language de voit bronsoriser sa super globale $_POST.
Plus précisément, l'envoi se fait bien, les headers http me les montrent bien, mais une fois dans le script php, ben il est tout vide :/ (var_dump a l'appui)
Le serveur utiliser apache 2 et php5, le tout depuis les packages de ma distrib (Que je ne citerais pas, je veux une réponse pertinente pas un vil trop poilu)
Pourquoi ne pas passer par autre chose que post ? simplement parce que l'installation/utilisation de trucs genre phpmyadmin ou mediawiki fait que je vais pas les recoder pour autant :D
Si une bonne âme savait comment résoudre ce problème je lui en serait reconnaissant !

Merci !

--
Ma signature ici
> Lire le message (15 commentaires, moyenne: 2,1).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Online?

Posté par Jean Boussier () le 14/03/2008 à 19:03. (lien). Évalué à 3.

Tu serait pas chez Online par hasard? par-ce que j'ai eu le même casse tête cette semaine.

Le plus bizarre c'est que ça n'impacte pas Joomla.

Toujours qui si $_POST était vide, on pouvait accèder à ses données par $_REQUEST

Bonne chance.

  • [^]Re: Online?

    Posté par vincent LECOQ (Jabber id, page perso, ) le 14/03/2008 à 19:16. (lien). Évalué à 2.

    non, je suis sur une dedibox configurée par mes soins. Si je peut trouver l'origine du soucis dans la conf je peux donc le corriger ... reste a savoir d'ou ca vient :/

    --
    Ma signature ici

aller je suis sympa...

Posté par NeoX () le 14/03/2008 à 19:54. (lien). Évalué à 1.

mais c'est parce qu'on est vendredi

google avec les mots $_POST empty
me donne par exemple en 3e lien
http://forums.codewalkers.com/php-installation-46/post-alway(...)

--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
  • [^]Re: aller je suis sympa...

    Posté par vincent LECOQ (Jabber id, page perso, ) le 14/03/2008 à 20:05. (lien). Évalué à 2.

    et bien figure toi que je connais ce lien,et comme ils le suggerent, mes droits sont bons, que mon linux n'est pas un windows et ca ne peut etre du a php4 puisque j'ai bien précisé php5 dans ma config.
    et par ailleurs, je ne peux pas me tromper quand je dis que $_POST ne fonctionne pas parce que ca signifierais que mediawiki, dekiwiki, phpmyadmin et consorts seraient tout mal ecrits a ce sujet et ne marcheraient donc chez personne ? ca me parait un peu gros, ca tombe bien cela dit on est vendredi.

    --
    Ma signature ici
    • [^]Re: aller je suis sympa...

      Posté par NeoX () le 14/03/2008 à 20:27. (lien). Évalué à 2.

      envoie le bout de code

      mais si aucun des outils PHP ne fonctionne ca viendrais plutot de ta config

      php.ini ?
      /etc/apache2/site-available ?

      y a plein d'option qui peuvent faire que ca ne fonctionne pas.

      --
      Apprendre par les autres, c'est bien.
      Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
      • [^]Re: aller je suis sympa...

        Posté par vincent LECOQ (Jabber id, page perso, ) le 14/03/2008 à 21:01. (lien). Évalué à 2.

        pas la peine d'envoyer du code, c'est sur ca vient de la conf.

        voila un résumé du php.ini :

        [PHP]
        engine = On
        zend.ze1_compatibility_mode = Off
        short_open_tag = On
        asp_tags = Off
        precision = 14
        y2k_compliance = On
        output_buffering = 4096
        zlib.output_compression = Off
        implicit_flush = Off
        unserialize_callback_func=
        serialize_precision = 100
        allow_call_time_pass_reference = Off
        safe_mode = Off
        safe_mode_gid = Off
        safe_mode_include_dir =
        safe_mode_exec_dir =
        safe_mode_allowed_env_vars = PHP_
        safe_mode_protected_env_vars = LD_LIBRARY_PATH
        disable_functions =
        disable_classes =
        expose_php = On
        error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
        display_errors = On
        display_startup_errors = Off
        log_errors = On
        log_errors_max_len = 1024
        ignore_repeated_errors = Off
        ignore_repeated_source = Off
        report_memleaks = On
        track_errors = Off
        variables_order = "EGPCS"
        register_globals = Off
        register_long_arrays = On
        register_argc_argv = Off
        auto_globals_jit = On
        post_max_size = 2048M
        magic_quotes_gpc = Off
        magic_quotes_runtime = Off
        magic_quotes_sybase = Off
        auto_prepend_file =
        auto_append_file =
        default_mimetype = "text/html"
        default_charset = "UTF8"
        include_path = ".:/usr/lib/php/:/usr/share/pear/"
        doc_root =
        user_dir =
        enable_dl = On
        file_uploads = On
        upload_tmp_dir = /var/tmp
        upload_max_filesize = 2048M
        allow_url_fopen = On
        allow_url_include = Off
        default_socket_timeout = 60
        [Date]
        [filter]
        [iconv]
        [sqlite]
        [xmlrpc]
        [Pcre]
        [Syslog]
        define_syslog_variables = Off
        [Session]
        session.save_handler = files
        session.save_path = /var/lib/php
        session.use_cookies = 1
        session.name = PHPSESSID
        session.auto_start = 0
        session.cookie_lifetime = 0
        session.cookie_path = /
        session.cookie_domain =
        session.cookie_httponly =
        session.serialize_handler = php
        session.gc_probability = 0
        session.gc_divisor = 100
        session.gc_maxlifetime = 1440
        session.bug_compat_42 = 1
        session.bug_compat_warn = 1
        session.referer_check =
        session.entropy_length = 0
        session.entropy_file =
        session.cache_limiter = nocache
        session.cache_expire = 180
        session.use_trans_sid = 0
        session.hash_function = 0
        session.hash_bits_per_character = 4
        url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

        --
        Ma signature ici
        • [^]Re: aller je suis sympa...

          Posté par Alex () le 14/03/2008 à 21:10. (lien). Évalué à 1.

          En googlant sur register_globals, j'ai l'impression que ton problème vient de là.
          Apparement cette option est désactivée pour raison de sécurité

          • [^]Re: aller je suis sympa...

            Posté par vincent LECOQ (Jabber id, page perso, ) le 14/03/2008 à 21:18. (lien). Évalué à 2.

            en effet il s'agit d'un raison de securité, sinon il suffit de passer un argument au script pour ecraser une de ses variables. D'ailleurs register_globals va disparaitre dans php6.
            a tout hasard j'avais essayé de modifier ce parametre, mais ca ne change rien.

            --
            Ma signature ici
            • [^]Re: aller je suis sympa...

              Posté par Alex () le 14/03/2008 à 21:31. (lien). Évalué à 1.

              Non en fait jai dit nimporte quoi, register_globlas transforme la clé de tes requetes en variable
              Par contre l'option track_vars active les varaibles $_POST, $_GET, etc... normalement elle par défaut a true.. mais bon essaye toujours...

              Sinon j'avais eu des prob semblable avec mod_perl il y a longtemps, pour une sombre histoire d'ordre des modules chargés par apache

              • [^]Re: aller je suis sympa...

                Posté par vincent LECOQ (Jabber id, page perso, ) le 14/03/2008 à 21:48. (lien). Évalué à 2.

                j'ai essayé un track_vars = On , que dalle :/

                l'ordre de chargement des modules chez moi :

                30_mod_proxy.conf
                44_mod_encoding.conf
                55_mod_cache.conf
                56_mod_disk_cache.conf
                70_mod_php.conf
                91_mod_mono.conf
                A11_mod_evasive.conf
                B12_mod_xml2.conf

                --
                Ma signature ici

Solution

Posté par andeus () le 15/03/2008 à 09:05. (lien). Évalué à 6.

post_max_size = 2048M

Essais 2047M ;) (ou mets directement 2147483648)

Il y a un problème au niveau de la conversion MB => B. (cf error log).

  • [^]Re: Solution

    Posté par vincent LECOQ (Jabber id, page perso, ) le 15/03/2008 à 09:23. (lien). Évalué à 3.

    Bordel c'est quoi cette blague ?
    Ca marche en plus ! [:totoz]
    Merci !

    --
    Ma signature ici
    • [^]Re: Solution

      Posté par yellowiscool (Jabber id, page perso, ) le 15/03/2008 à 15:51. (lien). Évalué à 2.

      Bah c'est php :-)

    • [^]Re: Solution

      Posté par Vincent ORDY () le 15/03/2008 à 16:08. (lien). Évalué à 1.

      Bordel c'est quoi cette blague ?

      Dépassement de capacité du long qui stocke post_max_size. Regardez ce qui se passe avec post_max_size = 4100M par exemple ;)


      --
      ordy_v

      • [^]Re: Solution

        Posté par vincent LECOQ (Jabber id, page perso, ) le 15/03/2008 à 19:34. (lien). Évalué à 2.

        un long ? la ca ressemble plus a un int signé (parce qu'un post_max_size negatif leur a paru probable ? je ne sais pas qui est leur deaker, mais elle a l'air vachement bonne :D)

        --
        Ma signature ici

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.php