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


macinsteph
Auteur
Réponse acceptée

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

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.

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

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