Bonjour à toutes et à tous,
je suis débutants en php et il se trouve que j'essai de faire une page d'inscription or le probleme cest que mes données rentrés dans les champs ne s'enregistre pas dans ma base de donnée... :( je ne serai pas contre un petit coup de main merci :)
voila mon code :
(désolé de donner le code sous une forme aussi brute... mais je ne sais pas faire les capture qui vont bien sous sublime text si vous pouviez me donner le tuyaux je serai pas contre aussi :) )
<!DOCTYPE html>
<?php
try
{
$host = 'localhost';
$database = 'pseudo_mdp';
$identifiant = 'root';
$password = 'root';
$db = new PDO('mysql:host='.$host.';dbname='.$database.'', $identifiant, $password);
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}catch(PDOException $e){
echo 'La base de donnée n\'est pas disponible pour le moment. <br />';
echo ''.$e->getMessage().'<br />';
echo 'Ligne : '.$e->getLine();
}
?>
<html>
<head>
<meta charset="utf-8" />
<title>Inscription réussi</title>
</head>
<body>
<?php
if( !empty($_POST['pseudo']) && !empty($_POST['email']) && !empty($_POST['mot_de_passe']) && !empty($_POST['verification_mot_de_passe']))
{
// Sécurité
$pseudo = addslashes(htmlspecialchars(htmlentities(trim($_POST['pseudo']))));
$email = addslashes(htmlspecialchars(htmlentities(trim($_POST['email']))));
$mot_de_passe = sha1($_POST['mot_de_passe']);
$verification_mot_de_passe = sha1($_POST['verification_mot_de_passe']);
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email)) // on vérifie si l'email à un format valide.
{
if($mot_de_passe == $verification_mot_de_passe) // on vérifie que les deux mots de passe soient identique.
{
//$req = $db->query("SELECT pseudo FROM login WHERE Pseudo = '$pseudo'"); // On séléectionne le champ (pseudo) dans notre table login où pseudo est égale au champ pseudo rentré par l'utilisateur
$count = $req->rowCount(); // on rowCount() la requete, donc rowcount retournera une valeur si il trouve.
if($count == 0) // si il ne trouve pas une valeur, alors c'est bon
{
$req = $db->prepare("INSERT INTO login ( Pseudo, Email, Mdp) VALUES( ':pseudo', ':email', ':mot_de_passe' )");
$req->execute(array(
':pseudo' => $pseudo,
':email' => $email,
':mot_de_passe' => $mot_de_passe
));
header('Location: inscription_réussi.php');
}
else{
$message = 'Cette adresse e-mail est déjà utilisé.';
}
}else{
$message = 'Cet identifiant est déjà utilisé.';
}
}else{
$message = 'Vos mots de passe ne sont pas identique.';
}
}
?>
<?= $message; ?>
<form action="inscription_reussi .php" method="post">
<div class="form-group">
<label for="pseudo">
Votre identifiant
</label>
<input type="text" name="pseudo" id="pseudo" class="form-control">
</div>
<div class="form-group">
<label for="email">
Votre adresse e-mail
</label>
<input type="text" name="email" id="email" class="form-control">
</div>
<div class="form-group">
<label for="mot_de_passe">
Votre mot de passe
</label>
<input type="password" name="mot_de_passe" id="mot_de_passe" class="form-control">
</div>
<div class="form-group">
<label for="verification_mot_de_passe">
Confirmez votre mot de passe
</label>
<input type="password" name="verification_mot_de_passe" id="verification_mot_de_passe" class="form-control">
</div>
<input type="submit" value="s'inscrire" />
S'inscrire
</button>
</form>
</body>
</html>
<!--comentaire html-->