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

PHP & Base de données Discussion :

formulaire 2 pages et récupération de données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Par défaut formulaire 2 pages et récupération de données
    Bonjour,

    Je suis tout nouveau sur le forum et très novice en php.

    J'ai un formulaire qui commence sur une page (index.php), on valide cette partie avec un traitement des données (traitement_inscription.php) et on se retrouve sur une deuxième page (inscription.php) pour finaliser le formulaire, puis validation (traitement_validation.php).

    Si je fais un echo sur la page traitement_inscription.php, mes valeurs sont bien saisies. Je crée des champs masqués sur la page inscription.php pour remettre ces valeurs pour faire un traitement global des données.
    J'arrive pas à retransmette correctement mes variables dans la page inscription.php, ce qui fait que dans la bdd, j'ai des .$_POST['prenom']. à la place de la valeur (prénom par exemple).

    Si quelqu'un peut me dire ce qui va pas, m'orienter ou m'expliquer le problème je le serait très reconnaissant.
    Merci d'avance.

    Voici les différents codes de mes pages :

    formulaire 1 sur la page index.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    session_start();
    ini_set('register_globals', '0');
    ?>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <link href="site.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css" media="screen" charset="utf-8" />
    		<script src="js/jquery.js" type="text/javascript"></script>	
    		<script src="js/jquery.validationEngine-fr.js" type="text/javascript"></script>  
    		<script src="js/jquery.validationEngine.js" type="text/javascript"></script>
    </head>
     
    <body>
    <form method="post" class="formular" action="traitement_inscription.php" >
    			<div class="form-identite">
    				<p><label>Civilité</label></p>
    				<p><label>Prénom</label></p>
    				<p><label>Nom</label></p>
    				<p><label>Email</label></p>
    				<p><label>Confirmation Email</label></p>
    				<p><label>Date de naissance</label></p>	
    			</div> 
    			<div class="champ-identite">
    				<p>	<select name="civil" id="civil" class="validate[required] liste" tabindex="10">
    					<option value="">---</option>
    					<option value="Mlle">Mlle</option>
    					<option value="Mme">Mme</option>
    					<option value="Mr">Mr</option>
    				</select></p>
     
    				<p><input class="validate[required,custom[onlyLetter],length[0,30]] text-input" "type="text" name="prenom" id="prenom" tabindex="20" size="30"></p>
    				<p><input class="validate[required,custom[onlyLetter],length[0,30]] text-input" "type="text" name="nom" id="nom" tabindex="30" size="30"></p>
    				<p><input class="validate[required,custom[email]] text-input" type="text" name="email" id="email" tabindex="40" size="30" maxlength="30" oncopy="return false;" oncut="return false;"/></p>
    				<p><input class="validate[required,confirm[email]] text-input" type="text" name="email2" id="email2" tabindex="50" size="30" maxlength="30" onpast="return false;"/></p>
     
    				<p><select name="date-j" id="date-j" class="validate[required] jour" tabindex="60" >
    					<option value="">jour</option>
    					<option value="1">1</option>
    					<option value="2">2</option>
    					<option value="3">3</option>
    					<option value="4">4</option>
    				  	<option value="5">5</option>	  		
    				</select></p>
     
    <p>	<select name="date-m" id="date-m" class="validate[required] mois" tabindex="70">
    	<option value="">mois</option>
    	<option value="janvier">janvier</option>
    	<option value="février">février</option>
    				</select></p>
     
    <p>	<select name="date-a" id="date-a" class="validate[required] annee" tabindex="80">
    	<option value="">annee</option>
    	<option value="1995">1995</option>
    	<option value="1994">1994</option>
    	<option value="1993">1993</option>
     
    				</select></p>
    		</div>
    				<div class="encadre">
     
    <span><input class="validate[required] radio1" type="radio" name="acceptation" value="oui" id="oui" tabindex="90"/> <label for="oui">Oui</label></span>
    <span><input class="validate[required] radio2" type="radio" name="acceptation" value="non" id="non" /> <label for="non">Non</label></span>
    				</div> 
    				<div id="submit">	
    				<input type="submit" value="" class="form-envoyer" />
    				</div>
    			  </form>
    la page traitement_inscription.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php 
    session_start();
     
    $host = "localhost";
    $user = "root";
    $db_name= "promovip_base";
    $pass= "";
     
    $con = mysql_connect($host, $user, $pass);
     
    if (!$con) 
    { 
    die('Ne peut pas se connecter : ' . mysql_error()); 
    } 
    mysql_query("SET NAMES UTF8");
    mysql_select_db("promovip_base", $con); //Replace with your MySQL DB Name
     
    $civil=mysql_real_escape_string($_POST['civil']); //This value has to be the same as in the HTML form file
    $prenom=mysql_real_escape_string($_POST['prenom']); //This value has to be the same as in the HTML form file
    $nom=mysql_real_escape_string($_POST['nom']); //This value has to be the same as in the HTML form file
    $email=mysql_real_escape_string($_POST['email']); //This value has to be the same as in the HTML form file
    $jour=mysql_real_escape_string($_POST['date-j']); //This value has to be the same as in the HTML form file
    $mois=mysql_real_escape_string($_POST['date-m']); //This value has to be the same as in the HTML form file
    $annee=mysql_real_escape_string($_POST['date-a']); //This value has to be the same as in the HTML form file
    // Puis rediriger vers le formulaire :
    header('Location: inscription.php');
    ?>
    puis on arrive sur la 2ème partie du formulaire, page : inscription.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
    session_start();
    ?>
    <form method="post" id="content" class="formular" action="traitement_validation.php" >
    			<div class="form-inscription">
    				<p><label>Adresse</label></p>
    				<p><label>Ville</label></p>
    				<p><label>Numéro de téléphone</label></p>
    				<p class="option">(optionnel)</p>
    				<span class="captcha">Glisser vers la droite pour déverrouiller</span>
    			  </div> 
    			<!-- form identite -->
    			<div class="champ-inscription">
    				<p><input class="validate[required,length[0,50]] text-input" "type="text" name="adresse" id="adresse" value="(numéro, rue...)" onFocus="javascript:this.value=''" tabindex="10" size="30"></p>
    				<p><input class="validate[required,custom[onlyLetter],length[0,50]] text-input" "type="text" name="ville" id="ville" tabindex="20" size="30"></p>
    				<p class="tel">+33</p><input class="validate[required,length[9,9],custom[telephone]] text-input-tel" type="text" name="telephone" id="telephone" tabindex="30" value="(9 chiffres)" onFocus="javascript:this.value=''" size="30"/></p>
    				<input "type="hidden" class="masque" name="civil" value=".$_POST['civil']."/>
    				<input "type="hidden" class="masque" name="nom" value=".$_POST['nom']."/>
    				<input "type="hidden" class="masque" name="prenom" value=".$_POST['prenom']."/>
    				<input "type="hidden" class="masque" name="email" value=".$_POST['email']."/>
    				<input "type="hidden" class="masque" name="date-j" value=".$_POST['date-j']."/>
    				<input "type="hidden" class="masque" name="date-m" value=".$_POST['date-m']."/>
    				<input "type="hidden" class="masque" name="date-a" value=".$_POST['date-a']."/>
     
    		</div>  <!-- form champ inscription -->
     
    			<div id="submit-inscription">	
    				<input type="submit" id="envoyer" value="" class="form-envoyer-contact" />
    				</div> <!-- submit -->
    			  </form>	
    		 	</div>
    et enfin la page qui va traiter les données : traitement_validation.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
    session_start();
     
    $host = "localhost";
    $user = "root";
    $db_name= "promovip_base";
    $pass= "";
     
    $con = mysql_connect($host, $user, $pass);
     
    if (!$con) 
    { 
    die('Ne peut pas se connecter : ' . mysql_error()); 
    } 
    mysql_query("SET NAMES UTF8");
    mysql_select_db("promovip_base", $con); //Replace with your MySQL DB Name
     
    $civil=mysql_real_escape_string($_POST['civil']); //This value has to be the same as in the HTML form file
    $prenom=mysql_real_escape_string($_POST['prenom']); //This value has to be the same as in the HTML form file
    $nom=mysql_real_escape_string($_POST['nom']); //This value has to be the same as in the HTML form file
    $email=mysql_real_escape_string($_POST['email']); //This value has to be the same as in the HTML form file
    $jour=mysql_real_escape_string($_POST['date-j']); //This value has to be the same as in the HTML form file
    $mois=mysql_real_escape_string($_POST['date-m']); //This value has to be the same as in the HTML form file
    $annee=mysql_real_escape_string($_POST['date-a']); //This value has to be the same as in the HTML form file
    $adresse=mysql_real_escape_string($_POST['adresse']); //This value has to be the same as in the HTML form file
    $ville=mysql_real_escape_string($_POST['ville']); //This value has to be the same as in the HTML form file
    $telephone=mysql_real_escape_string($_POST['telephone']); //This value has to be the same as in the HTML form file
    $sql="INSERT INTO inscription (civil,prenom,nom,email,jour,mois,annee,adresse,ville,telephone) VALUES ('$civil','$prenom','$nom','$email','$jour','$mois','$annee','$adresse','$ville','$telephone')";
    /*form_data is the name of the MySQL table where the form data will be saved.
    name and email are the respective table fields*/
    if (!mysql_query($sql,$con)) {
    die('Erreur : ' . mysql_error()); 
    } 
    //echo "Le formulaire a bien été ajouté à la bdd."; 
    mysql_close($con);
     
    // Puis rediriger vers le formulaire :
    //header('Location: validation.php');
     
    echo 'Merci de votre inscription !';
     
    //echo stripslashes('<div id="civil">'.$civil.'</div>');
    ?>

  2. #2
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    C'est parce que dans cette partie du code, tu es en html, pas en code php.

    inscription.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
    session_start();
    ?>
    <form method="post" id="content" class="formular" action="traitement_validation.php" >
    			<div class="form-inscription">
    				<p><label>Adresse</label></p>
    				<p><label>Ville</label></p>
    				<p><label>Numéro de téléphone</label></p>
    				<p class="option">(optionnel)</p>
    				<span class="captcha">Glisser vers la droite pour déverrouiller</span>
    			  </div> 
    			<!-- form identite -->
    			<div class="champ-inscription">
    				<p><input class="validate[required,length[0,50]] text-input" "type="text" name="adresse" id="adresse" value="(numéro, rue...)" onFocus="javascript:this.value=''" tabindex="10" size="30"></p>
    				<p><input class="validate[required,custom[onlyLetter],length[0,50]] text-input" "type="text" name="ville" id="ville" tabindex="20" size="30"></p>
    				<p class="tel">+33</p><input class="validate[required,length[9,9],custom[telephone]] text-input-tel" type="text" name="telephone" id="telephone" tabindex="30" value="(9 chiffres)" onFocus="javascript:this.value=''" size="30"/></p>
    				<input "type="hidden" class="masque" name="civil" value=".$_POST['civil']."/>
    				<input "type="hidden" class="masque" name="nom" value=".$_POST['nom']."/>
    				<input "type="hidden" class="masque" name="prenom" value=".$_POST['prenom']."/>
    				<input "type="hidden" class="masque" name="email" value=".$_POST['email']."/>
    				<input "type="hidden" class="masque" name="date-j" value=".$_POST['date-j']."/>
    				<input "type="hidden" class="masque" name="date-m" value=".$_POST['date-m']."/>
    				<input "type="hidden" class="masque" name="date-a" value=".$_POST['date-a']."/>
     
    		</div>  <!-- form champ inscription -->
     
    			<div id="submit-inscription">	
    				<input type="submit" id="envoyer" value="" class="form-envoyer-contact" />
    				</div> <!-- submit -->
    			  </form>	
    		 	</div>

    Par exemple pour cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input "type="hidden" class="masque" name="civil" value=".$_POST['civil']."/>
    il faut plutôt faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo '<input type="hidden" class="masque" name="civil" value="'.$_POST['civil'].'"/>'; ?>
    Idem pour les autres lignes.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Par défaut
    Merci bien !
    j'étais un peu dans le brouillard avec mon formulaire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/01/2014, 11h42
  2. [ZF 1.11] Formulaire composé (Zend_SubForm) et récupération des données soumises
    Par eaglesnipe dans le forum Zend_Form
    Réponses: 2
    Dernier message: 15/11/2011, 14h54
  3. Réponses: 3
    Dernier message: 05/08/2011, 13h30
  4. [HTML][FORMULAIRE] Probleme dans la récupération des données
    Par baddounet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/08/2005, 18h51

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