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

Bibliothèques et frameworks PHP Discussion :

[PEAR][HTML_QuickForm] Comment afficher une page après validation du formulaire ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [PEAR][HTML_QuickForm] Comment afficher une page après validation du formulaire ?
    Bonjour,
    j'utilise une page (index.php) qui emploie des includes pour afficher les différents éléments structurels de mise en page : header, footer, colonne droite, ... et le contenu principal (form.php). Dans celui-ci j'ai créé un formulaire avec html_quickform. Lorsqu'après avoir effectué les contrôles je tente d'appeler une nouvelle page via un header(location:http//...) je reçois le message "Cannot modify header information - headers already sent by..." ;... normal puisque j'ai déjà écrit du code html : du fait de la structure de la page index mon contenu (form.php) passe toujours après l'écriture de l'en-tête.
    Le seul moyen -je pense- de pouvoir parer à cette erreur serait d'utiliser un script distinct (action.php) pour traiter le formulaire une fois soumis :
    new HTML_QuickForm('Login', 'post' 'action.php').
    Cependant, la documentation pear étant succinte (ou ma compréhension limitée), je ne sais pas comment gérer les réaffichages du formulaire (et sans perdre les données saisies) suite à une détection d'erreurs (ex: nom saisi non présent en bdd).
    Quelqu'un peut-il m'aider ?

  2. #2
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mai 2005
    Messages : 112
    Points : 115
    Points
    115
    Par défaut Exemple criant
    Bonjour, voici ce que tu cherche :
    ICI

  3. #3
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Grosso modo l utilisation de quickform se fait comme ceci :

    creation du formulaire ($form = new Html_Quickform etc...)

    validation du formulaire
    si formulaire valide => traitement et éventuellement redirection ensuite, rien n a été affiché avant
    si formulaire invalide (ou si pas de submit) => affichage du formulaire

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Résolu]
    Merci pur vos réponses.
    En fin de compte, je m'en suis tiré en bufferisant les sorties (php ob_start); ci-dessous le sinopsys avec en rouge les modifs qui m'ont permis de résoudre le pb :

    Page index
    --> ob_start
    - Affiche l'en-tête
    - Affiche le menu
    - Inclut (require_once) le script affichant le formulaire quickform :
    Lorsque, une fois le formulaire validé, j'essayais de rediriger vers une autre page cela plantait puisque j'avais déjà écrit avec l'affichage de l'en-tête et du menu.
    -> header(location:http//...
    - Affiche le bas de page
    -> ob_end_flush()
    Si vous pensez qu'il y a mieux comme méthode, n'hésitez pas ...

  5. #5
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    A chacun de voir, personellement j'utilises un moteur de template (Smarty), donc mon template n'est affiché qu'a la fin, ce qui m'évite d'utiliser ob_start.

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

Discussions similaires

  1. [PHP 5.3] Afficher une page après soumission de formulaire
    Par Th-Vi dans le forum Langage
    Réponses: 7
    Dernier message: 25/05/2009, 19h52
  2. Réponses: 8
    Dernier message: 21/08/2006, 15h38
  3. Afficher une page après le menu
    Par Samanta dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 13/03/2006, 14h53
  4. Afficher une page après le menu
    Par Samanta dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/03/2006, 18h22
  5. [débutante] comment afficher une page asp ?
    Par boucher_emilie dans le forum ASP
    Réponses: 5
    Dernier message: 29/06/2004, 09h40

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