2012-10-09 3 views
0

Je veux faire une demande en ligne qui est essentiellement un formulaire qui sera rempli dans les étapes qui pourraient prendre des jours avant que je décide de passer à l'étape suivante. Maintenant, ma question est, comment puis-je savoir qu'un utilisateur a déjà terminé la première étape et donc quand il/elle se connecte, il est pris à la deuxième étape et sinon à la première étape.Formulaire étape par étape

Je pense à une fonction plus proche d'une session. Puis-je utiliser un cookie? Tout coup de pied commence?

+0

Les utilisateurs s'enregistrent ou se connectent avant de pouvoir commencer? –

+0

Que diriez-vous d'un nom d'utilisateur et liez-le avec une étape? – CustomX

+0

Que diriez-vous de stocker cette information dans DB, c'est-à-dire; étape actuelle d'un utilisateur. La table contiendra les champs user_id et current_step et optionnel updated_on. – Dev

Répondre

2

Fondamentalement, les deux méthodes que vous devez connaître le statut de l'utilisateur est d'utiliser des cookies, bien sûr, ou la persistance de la base de données.

Depuis que votre utilisateur doit être connecté pour continuer, je suggère le second. C'est, pour chaque étape du formulaire que l'utilisateur prend, enregistrer cette information dans votre base de données. Vous pouvez conserver toutes les informations que l'utilisateur a déjà rempli, donc pour chaque connexion, vous saurez quels champs afficher (ou quelle étape)

Les avantages de cette option par rapport aux cookies sont que les cookies peuvent être supprimés par l'utilisateur, donc vous perdrez cette information. De plus, cela arrivera si le cookie expire. Avec la persistance de la base de données, vous pouvez conserver cette information tout le temps que vous considérez correct d'attendre que l'utilisateur remplisse le formulaire.

Hope it helps,

2

Selon que l'utilisateur doit se connecter pour remplir les formulaires, si l'utilisateur doit se connecter avec un nom d'utilisateur pour remplir le formulaire (semblable à des demandes d'emploi), alors vous devriez stocker progrès de l'utilisateur dans une table afin qu'il puisse commencer à partir de l'endroit où il s'est arrêté.

Si l'utilisateur n'est pas obligé de se connecter, vous pouvez configurer une session qui n'a pas de date d'expiration. Mais je ne recommanderais pas cela parce que l'utilisateur peut supprimer le cookie quand il le souhaite.

0

Si l'utilisateur a un compte sur votre site, vous pouvez suivre la progression de son formulaire à l'aide d'une colonne dans une base de données et vérifier où il se trouve à son retour. Si elles n'ont pas de compte avec vous, je pense que votre meilleur pari serait de définir un cookie pour indiquer à votre formulaire quelle étape l'utilisateur est en cours quand ils reviennent.

Ce ne sont que des idées sur le dessus de ma tête, j'espère que l'aide! Meilleures salutations

0

mis nouvelle table de base de données SQL comme, étape 1 à valeur> fait étape 2 forte valeur> notdone

remplir cette valeur lorsque l'utilisateur appuie sur le bouton suivant dans votre table databse


cookies et la session peuvent être vidés par les utilisateurs ou un logiciel de nettoyage pourquoi vous devriez utiliser la table de base de données