PB formulaire d'insertion multi étapes
philinte
Messages postés
4
Statut
Membre
-
medoc13 Messages postés 65 Statut Membre -
medoc13 Messages postés 65 Statut Membre -
Bonjour à tous
j'utilise dreamweaver mx 2004
je suis à bout et espère trouver solution auprès de vous.
en fait je dispose d'un tres long formulaire de consultation et pour eviter que les visiteurs ne se fatiguent j'ai découpé le formulaire en quatre étapes. apres validation de la premiere étape il dois passer à la deuxieme ainsi de suite.
dans ma base de donnée j'ai crée une table de consultation qui devra reunir les enregistrements des mes quatres étapes.
je n'arrive pas à passer le bon paramètre afin que les quatre étapes constituent en fait le même enregistrement dans ma BD. ce qui se passe c'est que à la fin des étapes j'ai quatre enregistrement dans ma table au lieu d'un seul.
que dois je faire? please help me.
j'utilise dreamweaver mx 2004
je suis à bout et espère trouver solution auprès de vous.
en fait je dispose d'un tres long formulaire de consultation et pour eviter que les visiteurs ne se fatiguent j'ai découpé le formulaire en quatre étapes. apres validation de la premiere étape il dois passer à la deuxieme ainsi de suite.
dans ma base de donnée j'ai crée une table de consultation qui devra reunir les enregistrements des mes quatres étapes.
je n'arrive pas à passer le bon paramètre afin que les quatre étapes constituent en fait le même enregistrement dans ma BD. ce qui se passe c'est que à la fin des étapes j'ai quatre enregistrement dans ma table au lieu d'un seul.
que dois je faire? please help me.
A voir également:
- PB formulaire d'insertion multi étapes
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Touche insertion clavier - Guide
- Insertion video powerpoint - Guide
- Insertion sommaire word - Guide
4 réponses
Salut philinte,
quand tu fais le traitement de la première page de ton formulaire, tu crée une
variable de session(qui doit être unique pour chaque utilisateur: exemple en affectant le pseudo)
comme cela quand tu traites les autres page; il te suffis de récupérer ta variable et de faire un update sur la table en utilisant la clause WHERE:
Exemple
1er traitement
<?php
session_start();
$pseudo=strip_tags(trim($_POST['pseudo']));
$_SESSION['pseudo']=$pseudo;
$requete=INSERT INTO etc...
?>
2ème traitement
<?php
session_start();
if(isset($_SESSION['pseudo'])){
$pseudo=$_SESSION['pseudo'];
$requete=UPDATE table SET ... WHERE nom_champs='$pseudo'
?>
voilà j'espere que cela t'aideras
quand tu fais le traitement de la première page de ton formulaire, tu crée une
variable de session(qui doit être unique pour chaque utilisateur: exemple en affectant le pseudo)
comme cela quand tu traites les autres page; il te suffis de récupérer ta variable et de faire un update sur la table en utilisant la clause WHERE:
Exemple
1er traitement
<?php
session_start();
$pseudo=strip_tags(trim($_POST['pseudo']));
$_SESSION['pseudo']=$pseudo;
$requete=INSERT INTO etc...
?>
2ème traitement
<?php
session_start();
if(isset($_SESSION['pseudo'])){
$pseudo=$_SESSION['pseudo'];
$requete=UPDATE table SET ... WHERE nom_champs='$pseudo'
?>
voilà j'espere que cela t'aideras
slt MEDOC
je comprend ce que tu me demandes de faire, en théorie quoi!
je ne m'y connais pas en programmation raison pour laquelle j'utilise dreamweaver.
please
je comprend ce que tu me demandes de faire, en théorie quoi!
je ne m'y connais pas en programmation raison pour laquelle j'utilise dreamweaver.
please
Je vais essayer de te donner un exemple:
//1ère page de ton formulaire
<form method="post" action="traitement.php">
//ici un champs: name => c'est ce qui va te permettre de récupérer la valeur du champs
//chaque champs doit avoir un name et id different
<label for="pseudo">Nom d'utilisateur :</label>
<input type"text" name="pseudo" id="pseudo" />
champs suivant ...
//ton bouton submit
<input type="submit" name="page_1" value="envoyer" />
</form>
//ton fichier de traitement traitement.php
<?php
//on initialize une session
session_start();
//on détecte de quel page vienne les donnees
if(isset($_POST['page_1']))
{
$pseudo=strip_tags($_POST['pseudo']);//on supprime tous elements html qui aurait pu etre envoyer(securite)
//on affecte a une variable de session la valeur de $pseudo
$_SESSION['pseudo']=$pseudo;
tu recuperes et traites tes autre champs ....
//tu regardes si il y a deja un enregistrement avec le meme pseudo
$requete="SELECT COUNT (nom de la colonne) FROM nom_table WHERE nom_colonne='$pseudo'";
$query=mysql_query($requete,$connect) or die("message d'erreur");//$connect etant ta variable de connection
while($row=mysql_fetch_array($query)){
$nb=$row[0];//nombre de ligne retournées
}
//si nb est superieur a 0, c'est que le pseudo est deja utilise, tu redirige vers ta premiere page de formulaire avec un message d'erreur par exemple
if($nb>0){
header(location: url_du formulaire);
}
//si nb est egale a 0 tu continue ton traitement
else{
//il faut que tu mettes dans le meme ordre
$insert="INSERT INTO nom_table (pseudo,col2,col3...) VALUES('$pseudo','$col2','$col3'...)";
$query=mysql_query($inser$connect)or die("impossible d'inserer dans nom_table");
//enfin tu renvoie sur la page 2 de ton formulaire
header(location: url_page2);
}
}
?>
//ta 2e page de formulaire
<form method="post" action="traitement.php">
//ici un champs: name => c'est ce qui va te permettre de récupérer la valeur du champs
//chaque champs doit avoir un name et id different
<label for="adresse">Adresse :</label>
<input type"text" name="adresse" id="adresse" />
champs suivant ...
//ton bouton submit
<input type="submit" name="page_2" value="envoyer" />
</form>
//on retourne sur la page de traitement
//le premier code
if(isset($_POST['page_1']))
{
.......
}
//ensuite 2nd code
if(isset($_POST['page_2']))
{
if(isset($_SESSION['pseudo'])){
$pseudo=$_SESSION['pseudo'];
//la tu recupere tes champs
$adresse=$_POST['adresse'];
.....
.....
$update_1="UPDATE nom_table SET adresse='$adresse', col2='$col2',col3='$col3'... WHERE pseudo='$pseudo'";
$queryUpdate_1=mysql_query($update_1,$connect) or die ("impossible de mettre à jour nom_table");
//on redirige vers page 3
header(location: url_page3);
}
else
{
exit();
}
}
//et ainsi de suite
j'espere que tu comprendras mon code
//1ère page de ton formulaire
<form method="post" action="traitement.php">
//ici un champs: name => c'est ce qui va te permettre de récupérer la valeur du champs
//chaque champs doit avoir un name et id different
<label for="pseudo">Nom d'utilisateur :</label>
<input type"text" name="pseudo" id="pseudo" />
champs suivant ...
//ton bouton submit
<input type="submit" name="page_1" value="envoyer" />
</form>
//ton fichier de traitement traitement.php
<?php
//on initialize une session
session_start();
//on détecte de quel page vienne les donnees
if(isset($_POST['page_1']))
{
$pseudo=strip_tags($_POST['pseudo']);//on supprime tous elements html qui aurait pu etre envoyer(securite)
//on affecte a une variable de session la valeur de $pseudo
$_SESSION['pseudo']=$pseudo;
tu recuperes et traites tes autre champs ....
//tu regardes si il y a deja un enregistrement avec le meme pseudo
$requete="SELECT COUNT (nom de la colonne) FROM nom_table WHERE nom_colonne='$pseudo'";
$query=mysql_query($requete,$connect) or die("message d'erreur");//$connect etant ta variable de connection
while($row=mysql_fetch_array($query)){
$nb=$row[0];//nombre de ligne retournées
}
//si nb est superieur a 0, c'est que le pseudo est deja utilise, tu redirige vers ta premiere page de formulaire avec un message d'erreur par exemple
if($nb>0){
header(location: url_du formulaire);
}
//si nb est egale a 0 tu continue ton traitement
else{
//il faut que tu mettes dans le meme ordre
$insert="INSERT INTO nom_table (pseudo,col2,col3...) VALUES('$pseudo','$col2','$col3'...)";
$query=mysql_query($inser$connect)or die("impossible d'inserer dans nom_table");
//enfin tu renvoie sur la page 2 de ton formulaire
header(location: url_page2);
}
}
?>
//ta 2e page de formulaire
<form method="post" action="traitement.php">
//ici un champs: name => c'est ce qui va te permettre de récupérer la valeur du champs
//chaque champs doit avoir un name et id different
<label for="adresse">Adresse :</label>
<input type"text" name="adresse" id="adresse" />
champs suivant ...
//ton bouton submit
<input type="submit" name="page_2" value="envoyer" />
</form>
//on retourne sur la page de traitement
//le premier code
if(isset($_POST['page_1']))
{
.......
}
//ensuite 2nd code
if(isset($_POST['page_2']))
{
if(isset($_SESSION['pseudo'])){
$pseudo=$_SESSION['pseudo'];
//la tu recupere tes champs
$adresse=$_POST['adresse'];
.....
.....
$update_1="UPDATE nom_table SET adresse='$adresse', col2='$col2',col3='$col3'... WHERE pseudo='$pseudo'";
$queryUpdate_1=mysql_query($update_1,$connect) or die ("impossible de mettre à jour nom_table");
//on redirige vers page 3
header(location: url_page3);
}
else
{
exit();
}
}
//et ainsi de suite
j'espere que tu comprendras mon code