Formulaire à plusieurs étapes

Eléphant du PHP | 216 Messages

03 nov. 2010, 13:42

Bonjour à tous,

voilà j'ai un formulaire à plusieurs étapes :

étape 1) l'internaute met son adresse postale, son mail et son mot de passe

Après validation de l'étape 1, j'inscris ces données dans la base de données

étape 2) C'est la description de son appartement
à ce moment pas d'insert dans la base de données

étape 3) description des alentours du logement (situation, activité, description plus approfondie)

à ce moment insert dans la base de données

étape 4) choix de la destination ou veux aller l'internaute

insert dans la base de donnée

étape 5) validation définitive de l'inscription



Si l'internaute ( qui est en cours d'inscription) en est à l'étape 4, et qu'il se rend compte qu'il s'est trompé dans l'étape 2,
il ne peut plus revenir en arrière car dans l'étape 3 j'ai effectué un insert dans la base de données...

Comment dois-je m'y prendre afin q'un internaute puisse aller dans les étapes précédentes alors qu'il est cours d'inscription...
Faut-il que 'alimente la base de données uniquement à la dernière étape et garder tout en session ?

Merci d'avance pour votre aide.

Eléphant du PHP | 87 Messages

03 nov. 2010, 13:45

Bonjour,

formulaire pour quel genre de services ?

ViPHP
ViPHP | 2577 Messages

03 nov. 2010, 14:37

Bonjour,

Je suis plutôt partisan de conserver les données d'un écran à l'autre avec des <input type="hidden"....>.

Par contre, il faut vérifier toutes les données avant l'insert final en plus du controle après chaque page pour éviter les fraudes.

Eléphant du PHP | 87 Messages

03 nov. 2010, 15:04

je ferais :
-un formulaire inscription au site
qui comprend : le logement et l'identité
ca doit tenir sur une page (et modifiable via son profil tu trouvera ca sur google)

-et un formulaire style "panier e-commerce" avec son souhaite de destination (modifiable sur le profil aussi, mais dans une seconde partie

ViPHP
AB
ViPHP | 5818 Messages

03 nov. 2010, 16:25

Et pourquoi pas les variables de $_SESSION pour mémoriser les données d'une page à l'autre ?

Eléphant du PHP | 216 Messages

03 nov. 2010, 17:19

Bon,

ben je vois qu'il n'y a pas La Méthode idéale...

Je pense que je vais opter pour les sessions, et faire un insert final à la fin des 5 étapes...

ViPHP
AB
ViPHP | 5818 Messages

04 nov. 2010, 00:22

ça me semble le plus simple.

acidenitr0s
Invité n'ayant pas de compte PHPfrance

03 oct. 2012, 12:53

Bonjour je redéterre encore un topic :)

mais je suit intéresser par la méthode des Input "hidden" pouvait-vous en dire plus sur la procédure à sur d'une étape à l'autre ?

Merci

ViPHP
ViPHP | 2577 Messages

03 oct. 2012, 13:03

Cela consiste à faire comme si l'utilisateur saisissait tout le formulaire. Les input hidden se comportent comme des input text sauf qu'ils ne sont pas visible.

Pour chaque page, tu ajoutes les zones des autres pages en invisible avec les valeurs déjà saisie ou initialisée.

Mammouth du PHP | 702 Messages

03 oct. 2012, 16:34

sinon pour ceux qui ne saven pas faire en jquery et css il est peut être plus simple d'utiliser du "préfait" comme ici http://webexpedition18.com/download/sig ... edition18/

Mammouth du PHP | 2278 Messages

03 oct. 2012, 18:40

Cela consiste à faire comme si l'utilisateur saisissait tout le formulaire. Les input hidden se comportent comme des input text sauf qu'ils ne sont pas visible.

Pour chaque page, tu ajoutes les zones des autres pages en invisible avec les valeurs déjà saisie ou initialisée.
Absolument d'accord avec Moogli sur le fait qu'il ne faut rien inscrire dans la BDD tant qu'on n'arrive pas à la fin d'une inscription. Car il faudrait les modifier en cas de repentir du client potentiel....
Développement succinct de Mazarini:
page 1:
<?PHP
$nom = isset($_POST['nom']) ? $_POST['nom'] : "";
$formulaire =
"<form .....>
<input type = 'text' name = 'nom' value = '$nom' />";
//etc
print "$formulaire";*
?>
page 2
<?PHP
$nom = isset($_POST['nom']) ? $_POST['nom'] : "";
$formulaire =
"<form .....>
<input type = 'hidden'  name = 'nom' value = '$nom' />";
//etc
print "$formulaire";
?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD