if ( $liste['email'] == $_POST['email']) {
$form['valide'] = false;
$form['message'] ="Cette email est déjà utilisé";
}
ne s'effectue pas je ne comprend pas pourquoi ?
Merci de votre aide
Mon controleur :
function actionInscription($twig, $db) {
$form = array();
if (isset($_POST['btInscrire'])) {
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];
$form['valide'] = true;
$idrole = 1;
$utilisateur = new Utilisateur($db);
$liste = $utilisateur->select();
//-----Captchat------//
$secret = "6Let9KcUAAAAACxPpScT6BNbm6nGJ1v_5f59Ui5q";
$response = $_POST['g-recaptcha-response'];
$remoteip = $_SERVER['REMOTE_ADDR'];
$api_url = "https://www.google.com/recaptcha/api/siteverify?secret="
. $secret
. "&response=" . $response
. "&remoteip=" . $remoteip;
$decode = json_decode(file_get_contents($api_url), true);
//-----FinCaptchat------//
var_dump($liste);
/*/Captchat condition//
if ($decode['success'] == true) {
$form['valide'] = true;
$form['message'] = "Vous n'avez pas valider le captchat";
}*/
if ( $liste['email'] == $_POST['email']) {
$form['valide'] = false;
$form['message'] ="Cette email est déjà utilisé";
}
//FINCondition//
elseif ($pass != $pass2) {
$form['valide'] = false;
$form['message'] = 'Les mots de passe sont différents';
}
elseif (strlen($pass) < 8) {
$form['valide'] = false;
$form['message'] = 'Votre mot de passe est trop court il doit contenir au moins 8 caractères';
}
else {
//Envoie d'un mail de confirmation//
$header = "MIME-Version: 1.0\r\n";
$header .= 'From:"CocooningDog.fr"<[email protected]>' . "\n";
$header .= 'Content-Type:text/html; charset="uft-8"' . "\n";
$header .= 'Content-Transfer-Encoding: 8bit';
$message = "
<html>
<body>
<div align='center'>
Bienvenue $nom .<br/>
<img width='800px' height='400px' src='cocooningdog.fr/images/chiens3.jpg' />
Veuillez vous rendre sur le site pour prendre rendez-vous </a> </p>
</div>
</body>
</html>
";
mail($email, "Cocooning !", $message, $header);
//fin d'envoie du mail//
$utilisateur = new Utilisateur($db);
$exec = $utilisateur->insert($nom, $prenom, $email,$telephone, password_hash($pass, PASSWORD_DEFAULT), $idrole);
if (!$exec) {
$form['valide'] = false;
$form['message'] = 'Veuillez vérifier les informations saisie ';
}
}
$form['email'] = $email;
}
echo $twig->render('inscription.html.twig', array('form' => $form, 'session' => $_SESSION));
}
Mon modele :
class Utilisateur {
private $db;
private $insert;
private $connect;
private $update;
private $select;
private $selectByEmail;
private $updateMdp;
public function __construct($db) {
$this->db = $db;
$this->connect = $db->prepare("select * from utilisateurs where email=:email ");
$this->insert = $db->prepare("insert into utilisateurs( nom , prenom , email, telephone, pass , idrole) values( :nom, :prenom ,:email, :telephone, :pass ,:idrole)");
$this->update = $db->prepare("update utilisateurs set nom=:nom, prenom=:prenom, email=:email, telephone=:telephone, pass=:pass where email=:email");
$this->select = $db->prepare("select * from utilisateurs");
$this->selectByEmail = $db->prepare("select email from utilisateurs where email=:email");
$this->updateMdp = $db->prepare("update utilisateurs set pass=:pass where email=:email");
}
public function connect($email) {
$unUtilisateur = $this->connect->execute(array(':email' => $email ));
if ($this->connect->errorCode() != 0) {
print_r($this->connect->errorInfo());
}
return $this->connect->fetch();
}
public function insert( $nom, $prenom, $email, $telephone, $pass, $idrole) {
$r = true;
$this->insert->execute(array(':nom' => $nom, ':prenom' => $prenom , ':email'=>$email ,':telephone' => $telephone, ':pass' => $pass , ':idrole'=>$idrole));
if ($this->insert->errorCode() != 0) {
print_r($this->insert->errorInfo());
$r = false;
}
return $r;
}
public function update($nom, $prenom, $email,$telephone, $pass) {
$r = true;
$this->update->execute(array(':nom' => $nom, ':prenom' => $prenom, ':email' => $email, ':telephone' => $telephone ,':pass' => $pass));
if ($this->update->errorCode() != 0) {
print_r($this->update->errorInfo());
$r = false;
}
return $r;
}
public function selectByEmail($email) {
$this->selectByEmail->execute(array(':email' => $email));
if ($this->selectByEmail->errorCode() != 0) {
print_r($this->selectByEmail->errorInfo());
}
return $this->selectByEmail->fetch();
}
public function select() {
$liste = $this->select->execute();
if ($this->select->errorCode() != 0) {
print_r($this->select->errorInfo());
}
return $this->select->fetchAll();
}
public function updateMdp($pass, $email) {
$r = true;
$this->updateMdp->execute(array(':pass' => $pass, ':email' => $email));
if ($this->updateMdp->errorCode() != 0) {
print_r($this->updateMdp->errorInfo());
$r = false;
}
return $r;
}
}
Ma vue : <form method="post" action="" class="register-form-style">
{% if form.valide is defined %}
{% if form.valide == true %}
{% else %}
<h3 >Echec de connexion</h1><br>
<h3 > {{form.message}}</h1><br><br>
{% endif %}
{% else %}
{% endif %}
<input type="text" name="nom" placeholder="Nom"/>
<input type="text" name="prenom" placeholder="Prenom"/>
<input type="email" name="email" placeholder="Adresse Email"/>
<input type="tel" id="phone" name="telephone"
pattern="^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$"
placeholder="Numéro de téléphone" />
<input type="password" name="pass" placeholder="Mot de passe"/>
<input type="password" name="pass2" placeholder="Confirmer le mot de passe"/>
<div class="g-recaptcha" style="transform:scale(0.90);-webkit-transform:scale(0.90);transform-origin:0 0;-webkit-transform-origin:0 0;" data-sitekey="6Let9KcUAAAAADuEe7wWXGxotn8ECWPJ_nVq1oQO"> </div>
<p class="message">"En cliquant sur le bouton inscription vous acceptez nos conditions d'utilisations."</p><br />
<button name="btInscrire">Inscription</button>
<p class="message">"Vous avez déjà un compte ?<a href="index?page=connexion"> Connexion</a></p>
</form>
Merci de votre aide