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 :

formulaire à plusieurs étapes avec la method post


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 933
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 933
    Par défaut formulaire à plusieurs étapes avec la method post
    Bonjour à tous,

    voilà j'ai créé un formulaire avec plusieurs étapes (cinq étapes en tout).

    J'ai un souci au moment ou lors de l'inscription je retourner en arrière car j'ai oublié de remplir un champ par exemple...

    He bien j'ai le message d'erreur "Delai de la page expiré, actualiser..."


    J'aimerais garder la method post et que ce message ne s'affiche plus, est-ce possible ?

    Merci pour votre aide.

  2. #2
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Je vois bien une solution mais je ne sais absolument pas ce qu'elle vaut..

    Sur ta première page de formulaire lors de la validation pour passer à la seconde, au lieu de mettre directement le tout dans la BDD, créé une variable session :

    ex: page1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $step = array();
    $step[1] = array('nom' => $_POST['nom'], 'prenom' => $_POST['prenom']);
    $_SESSION['formulaire_fiveStep'] = $array($step);
    ?>
    ensuite passe à la seconde page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    if(isset($_SESSION['formulaire_fiveStep'])){
    $step = $_SESSION['formulaire_fiveStep']
    }else{
    //si c'est pas rempli, on a tenté d'acceder directement à la seconde page...
    //on redirige sur la premiere
    header('location: ./page1.php');
    }
    $step[2] = array('adresse' => $_POST['adresse'], 'cp' => $_POST['cp']);
    $_SESSION['formulaire_fiveStep'] = $array($step);
    ?>
    ainsi de suite.

    Pour gerer le retour en arrière faudrait faire un code du style (sur la page de retour):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    if(isset($_SESSION['formulaire_fiveStep'])){
       $step = $_SESSION['formulaire_fiveStep'];
       if(isset($step[numero_de_ta_page])){
        $nom = $step[numero_de_ta_page]['nom'];
       }
    }
    ?>
    plus loin dans le html : <input type="text" value="<?php echo $nom; ?>" name="nom">

    Je sais pas si j'ai été clair et si ça répond à ta question.

    Sinon, je ne vois pas d'ou vient le problème et je sais juste que si tu fais page précédente, ça te réenvera les données dans la base de données sans t'afficher les infos dans les champs.

    Et à la page5, récuperer chaque champs de ton tableau $step et faire les ajouts en BDD.

    Foilà, Cordialement, Guillaume

  3. #3
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Voilà, j'ai fait 3 pages pour te montrer mon principe (ça à l'air de bien fonctionner ^^) C'est un exemple je tiens à préciser.

    A toi de faire les tests pour eviter l'injection SQL, d'améliorer le tout à ta sauce

    Cordialement, Guillaume.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Formulaire en plusieurs étapes avec vérifications
    Par Jexus11 dans le forum Langage
    Réponses: 6
    Dernier message: 30/04/2014, 15h44
  2. Formulaire à plusieurs étapes
    Par sam01 dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2010, 09h19
  3. Passage de variable avec la méthode POST
    Par lama85 dans le forum Langage
    Réponses: 2
    Dernier message: 07/09/2006, 11h12
  4. Appel d'une page avec la methode POST depuis php
    Par QuantuX dans le forum Langage
    Réponses: 9
    Dernier message: 04/08/2006, 12h45
  5. [IDHTTP] Problème avec la methode post (login:pass@ww.url)
    Par Rayek dans le forum Web & réseau
    Réponses: 5
    Dernier message: 11/07/2005, 10h03

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