Page 1 sur 1

Probleme formulaire inscription

Posté : 27 janv. 2014, 21:29
par mailoy
Bonsoir,

J'ai un petit probleme avec mon formulaire d'inscription, je ne trouve malheureusement pas l'erreur.
Si vous pouvez me donner un petit coup de main ce n'est pas de refus
<html>
<head>
	<meta charset="utf-8" /><!--[if lt IE 9]>
            <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>   /*Permet la comptabilit� des en-t�te et piege de page et etc.. avec les anciennes versions de IE*/
        <![endif]-->
		<link href="style.css" rel="stylesheet" />
		<title>Insctiption</title>
</head>
<body>
<div id ="bloc-page">

	
<?php
    try
	{	
		$bdd = new PDO('mysql:host=lo*****st;dbname=is********1', 'i*****', '****');
	}
	catch (Exception $e)
	{
		die('Erreur : ' . $e->getMessage());
	}
    
    if(!empty($_POST)){
        $pass_hache = sha1($_POST['pass']);
        $pseudo = $_POST['pseudo'];
        $email = $_POST['email'];
        $req = $bdd->prepare('SELECT pseudo, email FROM membres WHERE pseudo=:pseudo OR email=:email');
        $req->execute(array('pseudo'=>$pseudo, 'email'=>$email));
        if(empty($req)){
            $req = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription) VALUES(:pseudo, :pass, :email, CURDATE())');
            $req->execute(array(
               'pseudo' => $pseudo,
                'pass' => $pass_hache,
               'email' => $email));
            echo 'Inscription Réussie';
            die();
        } else {
            echo "Un Utilisateur éxiste déjà avec ce pseudo ou cet email";
            die();
        }
    }
?>
<form action="inscription.php" method="POST">
    <label for="username">Username : <input type="text" name="pseudo" id="username"/></label>
    <label for="password">Password : <input type="password" name="pass" id="password"/></label>
    <label for="email">E-Mail : <input type="email" name="email" id="email"/></label>
    <input type="submit" value="Valider" />

</form>
						
	</div>
	</body>

</html>

Re: Probleme formulaire inscription

Posté : 27 janv. 2014, 21:40
par xTG
PDO::execute renvoie true ou false suivant que la requête a réussie ou échouée.
Elle ne renvoie rien qui indique que la requête renvoie une ligne ou zéro.
PDOStatement::fetch par contre te renverra false s'il n'y a plus d'enregistrement à retourner.
Ce qui est le cas à la première utilisation s'il n'y a pas de données retournées par la requête.