1formulaire sur 2 pages .....?

Signaler
Messages postés
30
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
10 avril 2010
-
Messages postés
661
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
18 septembre 2009
-
Bonjour, je voudrait créer un mini-formulaire sur ma page d'accueil et
que lorsqu'on clic sur "envoyer" cela redirige vers une autre page où
se termine le formulaire et au clic du deuxième bouton d'envoi cela
envoie le tout dans la bdd.


J'ai fait mes 2 formulaires, mon premier renvoi bien sur mon deuxième
mais le problème vient du fait que ma bdd enregistre soit le premier,
soit le deuxième formulaire mais pas les deux...hors c'est là mon but
:-)


J'ai bien fait attention aux nom des boutons d'envoi pour qu'ils aient chacun le leur....mais est-ce bien?


Enfin bref quelque chose ne fonctionne pas et je n'ai aucune idée de ce que c'est :-(


Première partie du formulaire:

Code :
Code : PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18, <formmethod="post"action="inscription.php">

Pseudo:
id="decalage1"type="text"name="pseudo"/>

Mot de pass:
id="decalage2"type="text"name="password"/>

E-mail:
id="decalage3"type="text"name="mail"size="40"/>

Année de naissance:
id="decalage4"type="text"name="annee_naissance"/>

type="hidden"value="<?php$date?>"name="date_inscription"/>
id="valider"type="submit"name="confirmer"value="envoyer"/>

</form>


Deuxième partie sur une autre page:


Code :
Code : PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69, <?php
if(isset($_POST['confirmer']))
{
$pseudo=$_POST['pseudo'];
$password=$_POST['password'];
$mail=$_POST['mail'];
$annee_naissance=$_POST['annee_naissance'];
$date_inscription=$_POST['date_inscription'];
$date_inscription=$date;

?>

<formmethod="post"action="inscription.php">

Vous êtes
id="h1"type="radio"name="sexe"value="homme"/>Homme
id="f1"type="radio"name="sexe"value="femme"/>Femme

Vous recherchez
id="attir1"type="radio"name="attirance"value="amitier"/>Amitier
id="attir2"type="radio"name="attirance"value="relation"/>Relation/Amour
id="attir3"type="radio"name="attirance"value="sexe"/>Sexe

Votre situation
id="situ1"type="radio"name="situation"value="celibataire"/>Célibataire
id="situ2"type="radio"name="situation"value="en couple"/>En couple

Localisation
id="local1"type="radio"name="localisation"value="bruxelles"/>Bruxelles
type="radio"name="localisation"value="hainaut"/>Hainaut
type="radio"name="localisation"value="brabant_wallon"/>Brabant Wallon
type="radio"name="localisation"value="brabant_flamand"/>Brabant Flamand
type="radio"name="localisation"value="flandre"/>Flandre
type="radio"name="localisation"value="etranger"/>Etranger

Enfant(s)
id="enfant1"type="radio"name="enfant"value="0"/>0
id="enfant2"type="radio"name="enfant"value="1"/>1
id="enfant3"type="radio"name="enfant"value="2"/>2
id="enfant4"type="radio"name="enfant"value="3"/>3
id="enfant5"type="radio"name="enfant"value="4"/>4
id="enfant6"type="radio"name="enfant"value="plus"/>+

Langue(s)
id="decalage5"type="text"name="langue"size="60"/>

type="hidden"value="<?php$date?>"name="date_inscription"/>
id="valider2"type="submit"name="valider"value="confirmer"/>

</form>
<?php

if(isset($_POST['valider']))
{
$sexe=$_POST['sexe'];
$attirance=$_POST['attirance'];
$style=$_POST['style'];
$situation=$_POST['situation'];
$localisation=$_POST['localisation'];
$enfant=$_POST['enfant'];
$langue=$_POST['langue'];
mysql_connect("localhost","root","mysql");
mysql_select_db("b");
mysql_query("INSERT INTO membres (pseudo,password,mail,annee_naissance,date_inscription,sexe,situation,localisation,enfant,langue) VALUES ('$pseudo','$password','$mail','$annee_naissance','$date_inscription','$sexe','$situation','$localisation','$enfant','$langue')");

mysql_close();
}
}
?>


Voilà si vous voyez ce qui peut clocher dans mon histoire.... les réponses sont les bienvenues :-)

5 réponses

Messages postés
661
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
18 septembre 2009
1
Bonjour,

Et si sur ta deuxième page du formulaire tu rappelais tes entrées d ela première page sous forme de INPUT HIDDEN...
et n'enregistrer le tout qu'à la fin du formulaire.
C'est ce qui se fait classiquement en formulaires multipages, si on n'utilis epas d esession.

Avec des sessions, il est possible de stocker les variables en session jusqu'à la dernière page du formulaire.

Donc en deuxième page d eton formulaire:

<form method="post" action="inscription.php">
<!-- Rappel de la page 1 -->
type="hidden" name="pseudo "value="<?php echo $_POST['pseudo']
; ?>"/>
/// Idem pour les autres champs...
<!-- Fin Rappel -->

Vous êtes
Messages postés
30
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
10 avril 2010

ok je vais tester ça :-) merci pour l'info
Messages postés
30
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
10 avril 2010

Ben non, rien ne se passe plus....plus aucunes réponses dans ma bdd :-(
Messages postés
30
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
10 avril 2010

        Voilà ce j'ai tester:  

[cpp]  
 <?php
            if (isset($_POST['confirmer']))
            {
            $pseudo= $_POST['pseudo'];
            $password=$_POST['password'];
            $mail=$_POST['mail'];
            $annee_naissance=$_POST['annee_naissance'];
            $date_inscription=$_POST['date_inscription'];
            $date_inscription=$date;
            //$age=$_POST['age'];
            $age=2009-$annee_naissance;
            ?>
                <form method="post" action="inscription.php" >
            " />
            " />
            " />
            " />
            " />
            
            Bienvenue <?php echo $pseudo; ?> !

            Vous avez <?php echo $age; ?> ans, vous serez repris dans la tranche d'âges correspondante.

            Vous recevrez une confirmation de votre inscription sur l'e-mail suivant: <?php echo $mail;?>.

            Afin de terminer votre inscription ce <?php echo $date; ?>, nous vous demandons de complèter le petit formulaire suivant:

                    
                    Vous êtes
            Homme
            Femme

            
                    Vous recherchez
            Amitier
            Relation/Amour
            Sexe

            
                    Votre style
            Européen
            Méditéranéen
            Asiatique
            Métisse
            Africain

            
                    Votre situation
            Libre
            En couple

            
                    Localisation
            Bruxelles
            Hainaut
            Brabant Wallon
            Brabant Flamand
            Flandre
            Etranger

            
                    Enfant(s)
            0
            1
            2
            3
            4
            +

            
                    Langue(s)
            
            

            " name ="date_inscription"/>
            
                    

                </form>
                <?php
            
                if (isset($_POST['valider']))
                {
                $pseudo=$_POST['pseudo'];
                $password=$_POST['password'];
                $mail=$_POST['mail'];
                $annee_naissance=$_POST['annee_naissance'];
                $date_inscription=$_POST['date_inscription'];
                //$age=$_POST['age'];
                $date_inscription=$date;
                $age=2009-$annee_naissance;
                $sexe=$_POST['sexe'];
                $attirance=$_POST['attirance'];
                $style=$_POST['style'];
                $situation=$_POST['situation'];
                $localisation=$_POST['localisation'];
                $enfant=$_POST['enfant'];
                $langue=$_POST['langue'];
            mysql_connect ("localhost","root","mysql");
            mysql_select_db ("bealove");
            mysql_query ("INSERT INTO membres (pseudo,password,mail,annee_naissance,date_inscription,sexe,attirance,style,situation,localisation,enfant,langue)
            VALUES ('$pseudo','$password','$mail','$annee_naissance','$date_inscription','$sexe','$attirance','$style','$situation','$localisation','$enfant','$langue')");
            
            mysql_close();
                }
            }
            ?>
/cpp

Et cela ne fonctionne pas :-(
Messages postés
661
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
18 septembre 2009
1
Est-ce au mins que tu as mis à jour ta requête MySQL ?

Parce que ce type de formulaire, on en trouve partout et qui fonctionnent très correctement.
et que donne un var_dump de ton POST avant d epasser les variables $_POST à la requête MySQL ?
De plus, pour ta requête MySQL, est-ce au moins qu eles champs d etype caractère sont escapés correctement ?

Dans tous les cas de figure, un appel à mysql_error en cas de problème permet de tracer l'erreur.