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 :

Problème de formulaire


Sujet :

Langage PHP

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Bonsoir,

    Depuis que j'ai installé mon site chez mon hébergeur, plus rien ne fonctionne. J'ai écrit plusieurs classes pour gérer les formulaires. Je m'aperçoit que les données ne sont pas transmises par le formulaire. La méthode getData() de ma classe ne renvoit rien.

    Le code complet est fourni en pièce jointe.

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Y a-t-il une solution ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 116
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par Neuromancien2
    Y a-t-il une solution ?
    Certainement !

    Verifie les phpinfo des 2 serveurs et voit les différences, surtout register_globals, mais franchement, regarder dans tous les fichiers de ton zip,
    j'ai abandonné au bout de 5 min...

    Et puis il existe aussi le package PEAR HTML_QuickForm qui fait la même chose en plus portable


    Fred

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Citation Envoyé par fred64
    Certainement !

    Verifie les phpinfo des 2 serveurs et voit les différences, surtout register_globals, mais franchement, regarder dans tous les fichiers de ton zip,
    j'ai abandonné au bout de 5 min...
    Je regarde ce soir pour les différences de configuration. Quel serait l'impact du register_globals à off ?
    Citation Envoyé par fred64
    Et puis il existe aussi le package PEAR HTML_QuickForm qui fait la même chose en plus portable
    Je trouve plus intéressant et plus instructif de créer mes propres classes. J'ai un système très simple, très léger, parfaitement adapté à mes besoins.

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Citation Envoyé par fred64
    Certainement !

    Verifie les phpinfo des 2 serveurs et voit les différences, surtout register_globals, mais franchement, regarder dans tous les fichiers de ton zip,
    j'ai abandonné au bout de 5 min...
    Le système se compose d'une classe formGenerator qui gère les formulaires et de classes textField et passwordField qui gèrent les champs.

    La classe formGenerator contient une méthode validate() qui vérifie les données envoyées en appelant les méthodes validate() de chaque champ. Elle affiche ensuite le formulaire via la méthode generateHTML(), qui appelle les méthodes generateHTML() de chaque champ.

    Dans la classe textField, la méthode validate() récupère les valeurs postées, vérifie la validité des données et affecte à nouveau la valeur postée aux champs (via la méthode setValue()) pour un nouvel affichage en cas d'erreur. Si les données ne sont pas valides, la variable $hasErrors prend la valeur 1. La méthode generateHTML() du champ affiche un message d'erreur.

    Le script principal définit le formulaire et les champs puis traite le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ( $form1->validate() ) {
    $form1->process();
    } else {
    echo $form1->generateHTML();
    L'achive contient un exemple.

    J'ai fait echo $hasErrors, qui m'affiche 1 juste après la validation, puis 0 lors de l'affichage du formulaire. Le formulaire ne renvoit aucune valeur. Je ne comprends rien.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 116
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par Neuromancien2
    Je regarde ce soir pour les différences de configuration. Quel serait l'impact du register_globals à off ?
    register globals



    Citation Envoyé par Neuromancien2
    Je trouve plus intéressant et plus instructif de créer mes propres classes. J'ai un système très simple, très léger, parfaitement adapté à mes besoins.
    Désolé, mais je trouve plus interessant de ne pas réinventer la roue à chaque fois que j'en ai besoin et batir mes applis web sur des bases eprouvées, testées et débuggées par des centaines de personnes..

    Question de philosophie, enfin, si tu fais cela juste pour le plaisir, je comprends, dans un cadre professionel la problématique n'est plus la même


    Fred

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    register_globals est à on chez l'hébergeur. J'ai fait le test chez moi et le problème vient bien de là.
    Comment le remettre à off ? J'ai essayé php_flag register_globals off dans un fichier .htaccess mais cela provoque une erreur 500...

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Le problème ne vient pas de register_globals. Je n'y comprends rien et je suis découragé. Quelqu'un peut-il m'aider à trouver l'origine du problème ?

  9. #9
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Voici les différences de configuration trouvées par phpinfo() :

    Champs existants chez moi mais pas chez l'hébergeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    realpath_cache_size	16K	
    report_zend_debug	On
    realpath_cache_ttl	120	
    register_long_arrays	On
    memory_limit	8M
    auto_globals_jit	On
    mail.force_extra_parameters	no value
    zend.ze1_compatibility_mode	Off
    Champs existants chez l'hébergeur mais pas chez moi :
    gpc_order GPC
    Différences de valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Chez moi : precision	12
    Chez OVH :precision    14
    Chez moi : y2k_compliance	On
    Chez OVH : y2k_compliance      Off
    Chez moi : max_input_time	60
    Chez OVH : max_input_time	-1

  10. #10
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Je ne comprends rien... On dirait que toutes les données de la classe sont perdues après l'appel à la fonction validate(). Je n'ai jamais vu ça...

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

Discussions similaires

  1. [IIS - TOMCAT][Struts] Problème de formulaire
    Par tscoops dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 01/02/2005, 14h04
  2. Réponses: 7
    Dernier message: 19/10/2004, 16h12
  3. [STRUTS] problème de formulaire
    Par ultimax dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/07/2004, 15h55
  4. [Struts] Problème de formulaire(s) ...
    Par djoukit dans le forum Struts 1
    Réponses: 8
    Dernier message: 10/03/2004, 23h48
  5. Réponses: 12
    Dernier message: 24/09/2003, 15h26

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