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

Livvie Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

5 réponses

Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   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
Livvie Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
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
logisticien
 
Tu peux nous renvoyer le contenu de ça :

echo 'INSERT INTO users(id, username, password) VALUES (null, $username, $password)';
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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

Exemple ? Une injection de code dans le formulaire --'
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   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