Probléme d'insertion dans la base de donnée

Livvie Messages postés 14 Statut Membre -  
Mihawk Messages postés 4753 Statut Contributeur -
Bonjour à tous
j'ai un probléme avec ma base de donnée bon je fait un formulaire d'inscription en php tout va bien mais quand je m'inscrire les données ne s'enregistrent pas dans la base de donnée voila le code du formulaire
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
 
<body>
<?php
    if (isset($_POST['submit'])) {
        $username=htmlentities(trim($_POST['username']));
        $password=htmlentities(trim($_POST['password']));
        $repeatpassword=htmlentities(trim($_POST['repeatpassword']));
        if($username and $password and $repeatpassword) {
            if($password==$repeatpassword) {
			$password=md5($password);
                try {
                    // On se connecte à MySQL
                    $bdd = new PDO('mysql:host=localhost;dbname=phplogin', 'root', '');
					}
                catch(Exception $e) {
                    // En cas d'erreur, on affiche un message et on arrête tout
                     echo "Connection à MySQL impossible : ", $e->getMessage();
					 die();
                }
                // Si tout va bien, on peut continuer
                // On ajoute une entrée dans la table users
                $bdd->exec('INSERT INTO users(id, username, password) VALUES (null, $username, $password)');
                die("insertion reussi <a href='Acceuil.php'>Connectez</a>Vous");
            }
            else {
                echo "les mots de passe doivent etre identiques";
            }
        }
        else {
            echo "veuillez saisir tous les champs";
        }
    }
?>
  
<form method = "post" action="register.php">
    <p> inserez votre login </p>
    <input type= "text" name ="username"/>
 
    <p> votre password</p>
    <input type="password" name="password"/>
 
    <p>Repetez votre password</p>
    <input type="password" name="repeatpassword"/><br><br>
 
    <input type="submit" value="s'inscrire" name="submit"/>
</form>
</body>
  
</html>


un peu d'aide s'il vous plait

5 réponses

  1. Mihawk Messages postés 4753 Statut Contributeur 846
     
    Hello,

    Je te conseille de mettre tout le $bdd->exec au sein du try{} comme ça si une erreur apparaît lors de l'insertion en base, elle sera affichée et ça nous aidera !
    0
  2. Livvie Messages postés 14 Statut Membre
     
    Salut , j'essaye de mettre l'insertion dans le bloc try mais rien n'a changé
    la même chose apparut il me dit insertion réussi mais y a rien dans la base de donnée :(
    0
  3. logisticien
     
    Tu peux nous renvoyer le contenu de ça :

    echo 'INSERT INTO users(id, username, password) VALUES (null, $username, $password)';
    0
  4. Mihawk Messages postés 4753 Statut Contributeur 846
     
     try {
                        // On se connecte à MySQL
                        $bdd = new PDO('mysql:host=localhost;dbname=phplogin', 'root', '');
    		    bdd->exec('INSERT INTO users(id, username, password) VALUES (null, $username, $password)');
                    }
                    catch(Exception $e) {
                        // En cas d'erreur, on affiche un message et on arrête tout
                         echo "Connection à MySQL impossible : ", $e->getMessage();
    					 die();
                    }
     
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. logisticien
     
    Si c'est un problème plus subtile ça va rien résoudre...

    Exemple ? Une injection de code dans le formulaire --'
    0
    1. Mihawk Messages postés 4753 Statut Contributeur 846
       
      Si c'est un problème SQL alors la base retourne nécessairement une erreur ; le but de mon code est de l'afficher. Surtout que si on regarde son "die" on passe forcément dedans ; donc on affichera toujours une modif réussie
      0