Espace membre problème INSERT INTO

Par macinsteph, il y a 11 ans


Bonsoir,
Je suis entrain de développer un espace membre à partir d'un thème bootsrap j'ai suivi le tuto de Grafikart mais je ne comprend pas pourquoi il ne m'insère rien dans ma base de donnée.
Voici le code index.php :

<?php require_once'connection.php'; ?> <?php if(!empty($_POST) && strlen($_POST['nom'])>4 && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){ $nom = addslashes($_POST['nom']); $email = addslashes($_POST['email']); $phone = addslashes($_POST['phone']); $password = addslashes($_POST['password']); $token = sha1(uniqid(rand())); $q = array('nom'=>$nom, 'email'=>$email, 'phone'=>$phone, 'password'=>$password, 'token'=>$token); $sql = 'INSERT INTO membre (nom, email, phone, password, token) VALUES (:nom, :email, :phone, :password, :token)'; $req = $cnx->prepare($sql); $req->execute($q); }

Voici le code du formulaire :

<form method="post" action="index.php"> <label for="nom">Votre nom</label><br> <input type="text" placeholder="Nom" name="nom" /> </br></br> <label for="email">Votre E-mail</label><br> <input type="text" placeholder="Votre Email" name="email" /> </br></br> *<label for="phone">Votre Téléphone</label><br> <input type="phone" placeholder="00.00.00.00.00" name="phone" /></br></br> *<label for="password">Un mot de passe</label><br> <input type="password" placeholder="Mot de passe" name="password" /></br></br> *<label for="password">Retaper votre mot de passe</label><br> <input type="password" placeholder="Confirmer mot de passe" name="password" /> </div> <div class="modal-footer" > <input style="float: left" type="submit" class="btn btn-success" value="Enregistrement" /> <span>&nbsp;&nbsp;&nbsp; Déjà Membre? </span><span id="login-link" class="text-info" style="cursor:pointer;"> Vous enregistrer maintenant </span></form>

Le code de ma connection à ma BDD :

<?php $server = 'localhost'; $database = 'membre'; $username = 'root'; $password = 'root'; try{ $cnx = new PDO('mysql:host='.$serveur.';dbname='.$database, $username, $password); } catch(PDOException $e) { echo $e->getMessage(); } ?>

Je ne trouve pas l'erreur, si vous pouvez m'aider?
Merci

4 réponses

Carouge10, il y a 11 ans

Bonsoir,
Aucun message d'erreur n'est affiché ?
Vous travaillz en local ou e ligne ?
Il y a une erreur dans votre formulaire, vous devez avoir un nom différent pour chaque champ.
Le mot de passe et sa confirmation porte le même nom.

macinsteph, il y a 11 ans

non aucun, je travail en localhost j'ai modifié et je teste

Carouge10, il y a 11 ans

faite un var_dump($q); et donnez moi ce qui est affiché s'il vous plaît.

macinsteph, il y a 11 ans

Merci pour votre aide en faite j'ai trouvé, je me suis planté sur INSERT INTO membre ma table est users. J'ai modofié ça fonctionne maintenant.
Merci