Problème sur formulaire inscription membre
Posté : 15 déc. 2015, 18:56
Salut à tous.
J'ai un formulaire qui permet a mes visiteurs de s'inscrire sur mon site.
Tt marche très bien, cependant j'ai un message qui permet de dire à l'internaute que le mail saisie est déjà existant après une vérification.
Le problème est que même si le mail n'existe pas ca lui affiche le message ( mais il est bien inscrit quand même ).
page du formulaire ou je fait les vérif
J'ai un formulaire qui permet a mes visiteurs de s'inscrire sur mon site.
Tt marche très bien, cependant j'ai un message qui permet de dire à l'internaute que le mail saisie est déjà existant après une vérification.
Le problème est que même si le mail n'existe pas ca lui affiche le message ( mais il est bien inscrit quand même ).
page du formulaire ou je fait les vérif
<?php include('include/header.php');
// Vérification de la validité des informations
$erreurs = array(); //tableau contenant des messages d'erreurs
if(!empty($_POST)) {//soumission du formulaire
//Verification pseudo
if(empty($_POST['pseudo'])) {
$erreurs['pseudo'] = 'Renseigner un pseudo';
}
//Verification departements
if(empty($_POST['departements']))
{
$erreurs['departements'] = 'Séléctionner un departement';
}
//Verification du champ email( on vérifie si le champ n'est pas vide )
if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$_POST['email'])){
$erreurs['email'] = "Veuillez verifier la saisie de votre e-mail";
}
//Verification email
if(empty($_POST['email'])) {
$erreurs['email'] = 'Renseigner un adresse email';
}
//Verification conditions
if(empty($_POST['conditions'])) {
$erreurs['conditions'] = 'Veillez accepter les conditions générales';
}
//Verification password
if(empty($_POST['password'])) {
$erreurs['password'] = 'Renseigner un mot de passe';
}
//le tableau d'erreurs est vide alors on insère les données
if(count($erreurs) == 0) {
// On vérifie si l'email existe en bdd
$chech_mail = $bdd->prepare("SELECT email from simply_user WHERE email = ?");
$chech_mail->execute(array($_POST['email']));
if($chech_mail->rowCount() == 0) {
// Hachage du mot de passe
$password = sha1($_POST['password']);
// Insertion
$req = $bdd->prepare('INSERT INTO simply_user (id_region, id_departements, pseudo, interet, email, password, date_inscription) VALUES(:id_region, :id_departements, :pseudo, :interet, :email, :password, CURDATE())');
$req->execute(array(
'id_region'=>regionIdByDepartement($_POST['departements']),
'id_departements'=>$_POST['departements'],
'pseudo'=>$_POST['pseudo'],
'email'=>$_POST['email'],
'interet' => serialize($_POST['interet']),
'password'=>$password
)) or die('Problème lors de l\'insertion');
// Envoie du mail
$entetedate = date("D, j M Y H:i:s +0200"); // avec offset horaire
$entetemail = "From: La Sortie <[email protected]>\n"; // Adresse expéditeur
$entetemail .= "Cc: \n";
$entetemail .= "Bcc: \n"; // Copies cachées
$entetemail .= "Reply-To: [email protected]\n"; // Adresse de retour
$entetemail .= "MIME-version: 1.0\n";
$entetemail .= "Content-type: text/html; charset=UTF-8;\n";
$entetemail .= "X-Mailer: PHP/".phpversion()."\n" ;
$entetemail .= "Date: ".$entetedate;
$search = array('[email]', '[password]');
$replace = array($_POST['email'], $_POST['password']);
$message = str_replace($search, $replace, file_get_contents('include/creation_compte.html'));
mail($_POST['email'], '[LASORTIE] Votre compte', $message, $entetemail);
// envoie du mail au nouvel utilisateur.
echo '<p>Merci pour votre inscription.</p>';
// Si me mec est inscrit donc identifié faut créé les sessions ou appelle la fonction identificationPro()
authentificationPro($_POST['pseudo'], $password);
}
}
echo '<div class="container"><div class="col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2">
<div class="alert alert-danger okay" role="alert"> <i class="fa fa-frown-o"></i> Cet email est déjà associé à un compte</div></div></div>';
}
?>
et une partie avec un include ( une autre page ou je vérifie encore // Vérification des identifiants
$req = $bdd->prepare('SELECT * FROM simply_user WHERE pseudo = :pseudo AND password = :password');
$req->execute(array(
'pseudo' => $pseudo,
'password' => $password
));
if($req->rowCount() > 0) {
$resultat = $req->fetch();
$_SESSION['membre'] = $resultat;
$_SESSION['pseudo'] = $resultat['pseudo'];
$_SESSION['password'] = $resultat['password'];
$_SESSION['id_region'] = $resultat['id_region'];
$_SESSION['type'] = 'client';
$_SESSION['statut'] = $resultat['statut'];
if(!empty($_POST['remember'])) setcookie('identification', serialize(array($pseudo, $password)), mktime(0, 0, 0, date('m'), date('d'), date('Y')+1), '/');
} else {
$return = '<div class="alert alert-danger" role="alert"><i class="fa fa-frown-o"></i> Mauvais identifiant ou mot de passe !</div>';
}
return $return;
}