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

Fermé
Livvie Messages postés 13 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 20 juin 2013 - 18 avril 2013 à 11:16
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 18 avril 2013 à 13:53
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

Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
18 avril 2013 à 11:26
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 mardi 16 avril 2013 Statut Membre Dernière intervention 20 juin 2013
18 avril 2013 à 11:50
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
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 mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
18 avril 2013 à 12:04
 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
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 mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
Modifié par Mihawk le 18/04/2013 à 13:53
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