Page 1 sur 1

Formulaire sur deux pages la base de données ne se rempli pas

Posté : 29 oct. 2015, 16:31
par cheepow28
Bonjour à tous,

Je m'excuse d'avance si je ne fais pas les choses correctement mais je suis nouveau sur ce forum. Voici mon problème :

j'ai réalisé un formulaire à remplir par un membre via des input, sur 1 page nommé inscription.php, tout les données s'enregistraient correctement dans ma base de donnée, lorsque le membre cliquait sur le bouton validé. Or j'ai voulu rajouter une deuxième page pour agrandir mon formulaire d'inscription, ma deuxième page se nomme inscription2.php et depuis l'ajout de cette page plus rien ne se sauvegarde dans ma base de données. Pouvez vous m'aider ? Voici mon code :

inscription.php

Code : Tout sélectionner

<!DOCTYPE html> <?php $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', ''); if(isset($_POST['suivant'])) { $nom = htmlspecialchars($_POST['nom']); $prenom = htmlspecialchars($_POST['prenom']); $email = htmlspecialchars($_POST['email']); $mdp = sha1($_POST['mdp']); if(!empty($_POST['nom']) AND !empty($_POST['prenom']) AND !empty($_POST['email']) AND !empty($_POST['mdp'])); else { $erreur = "Veuillez remplir tous les champs s'il vous plaît !"; } { $pseudolength = strlen($email); if($pseudolength <= 255) { $insertmbr = $bdd->prepare("INSERT INTO membres(nom, prenom, email, motdepasse) VALUES(?, ?, ?, ?)"); $insertmbr->execute(array($nom, $prenom, $email, $mdp)); } else { $erreur = "Votre email ne doit pas dépasser 255 caractères !"; } } } ?> <html> <link rel="stylesheet" type="text/css" href="css/style.css"> <meta charset="UTF-8"> <head> <title>Inscription - Le bon profil </title> <div class="section1"> <ul id="nav"> <a href="index.php">Accueil</a> </ul> <div class="section3">Le bon profil </div> </div> <?php if(isset($erreur)) { echo $erreur; } ?> </head> <body> <img SRC="images/bg.jpg" width="100%" height="700"> <div class="section4"> <div class="content2">Remplissez les champs suivant :</div></br> <form method="POST" action="inscription2.php"> <center><table> <tr> <td> </br></br><input type="text" size="20" name="nom" placeholder="Nom"/> </td> </tr> <tr> <td> </br></br><input type="text" size="20" name="prenom" placeholder="Prénom"/> </td> </tr> <td> </br></br><input type="email" size="30" name="email" placeholder="E-mail"/> </td> </tr> <tr> <td> </br></br><input type="password" size="20" name="mdp" placeholder="Mot de passe"/> </td> </tr> <tr> <td> </br></br><center><input type="submit" name="suivant" value="Suivant"/></center> </td> </tr> </table></center> </form> </div> </body> </html>
inscription2.php

Code : Tout sélectionner

<!DOCTYPE html> <?php $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', ''); if(isset($_POST['suivant'])) { if(isset($_POST['nom']) == false ) if(isset($_POST['prenom']) == false ) if(isset($_POST['email']) == false ) if(isset($_POST['mdp']) == false ) { include inscription.php; } else { $nom = htmlspecialchars($_POST['nom']); $prenom = htmlspecialchars($_POST['prenom']); $email = htmlspecialchars($_POST['email']); $mdp = sha1($_POST['mdp']); $date = htmlspecialchars($_POST['date']); $adresse = htmlspecialchars($_POST['adresse']); $codepostal = htmlspecialchars($_POST['codepostal']); if(!empty($_POST['nom']) AND !empty($_POST['prenom']) AND !empty($_POST['email']) AND !empty($_POST['mdp']) AND !empty($_POST['date']) AND !empty($_POST['adresse']) AND !empty($_POST['codepostal'])); else { $erreur = "Veuillez remplir tous les champs s'il vous plaît !"; } { $pseudolength = strlen($adresse); if($pseudolength <= 255) { $insertmbr = $bdd->prepare("INSERT INTO membres(date, adresse, codepostal) VALUES(?, ?, ?)"); $insertmbr->execute(array($date, $adresse, $codepostal)); } else { $erreur = "Votre adresse ne doit pas dépasser 255 caractères !"; } } } } ?> <html> <link rel="stylesheet" type="text/css" href="css/style.css"> <meta charset="UTF-8"> <head> <title>Inscription - Le bon profil </title> <div class="section1"> <ul id="nav"> <a href="index.php">Accueil</a> </ul> <div class="section3">Le bon profil </div> </div> <?php if(isset($erreur)) { echo $erreur; } ?> </head> <body> <img SRC="images/bg.jpg" width="100%" height="700"> <div class="section4"> <div class="content2">Remplissez les champs suivant :</div></br> <form method="POST" action="index.php"> <center><table> <tr> <td> </br></br><input type="hidden" size="20" name="nom" placeholder="Nom"/> </td> </tr> <tr> <td> <input type="hidden" size="20" name="prenom" placeholder="Prénom"/> </td> </tr> <td> <input type="hidden" size="30" name="email" placeholder="E-mail"/> </td> </tr> <tr> <td> <input type="hidden" size="20" name="mdp" placeholder="Mot de passe"/> </td> </tr> <tr> <td> <input type="date" size="20" name="date" placeholder="Date de naissance"/> </td> </tr> <tr> <td> </br></br><input type="text" size="30" name="adresse" placeholder="Adresse"/> </td> </tr> <td> </br></br><input type="text" size="20" name="codepostal" placeholder="Code postal"/> </td> </tr> <tr> <td> </br></br><center><input type="submit" name="suivant" value="Suivant"/></center> </td> </tr> </table></center> </form> </div> </body> </html>

Re: Formulaire sur deux pages la base de données ne se rempli pas

Posté : 29 oct. 2015, 16:42
par or 1
c'est indispensable de faire 2 formulaires, au lieu d'un seul plus complet ?
si c'est le cas, alors inscription.php pointe vers inscription.php. si les champs sont remplis, insert, recuperation de l'id du membre, passage de cet id à inscription2.php qui pointe vers inscription2.php qui fera un update et non un insert.

Re: Formulaire sur deux pages la base de données ne se rempli pas

Posté : 29 oct. 2015, 18:15
par cheepow28
Bonjour,

Merci pour ta réponse. Si j'ai bien compris j'ai rajouté dans inscription.php :

Code : Tout sélectionner

$_GET['id'];
et dans inscription2.php j'ai rajouté :

Code : Tout sélectionner

SELECT * FROM 'membres' WHERE id='".$id."';

Mais ça ne marche toujours pas.

Re: Formulaire sur deux pages la base de données ne se rempli pas

Posté : 02 nov. 2015, 13:34
par cheepow28
Bonjour

Quelqu'un aurait il une idée svp ?