Bonsoir, je rencontre un problème avec mon code je m'explique je développe actuellement mon espace membre est je viens d'arriver récemment sur le code PHP, j'ai suivi toutes la formations OpenClassroom en ce qui le concerne. Seulement voilà quand je veux dire qu'il existe déjà ce mail dans ma BDD, j'utilise ce code suivant :
// Vérification du mail
if(empty($mail)){
$valid = false;
$er_mail = "Le mail ne peut pas être vide";
// Format du mail
}elseif(!preg_match("/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i", $mail)){
$valid = false;
$er_mail = "Le mail n'est pas valide";
}else{
// Mail disponible ou non
$req_mail = $DB->query("SELECT mail FROM utilisateur WHERE mail = ?",
array($mail));
$req_mail = $req_mail->fetch();
if ($req_mail['mail'] <> ""){
$valid = false;
$er_mail = "Ce mail existe déjà";
}
}
quand je lance mon programme l'erreur suivante s'affiche :
Warning: Trying to access array offset on value of type bool in C:\xampp\htdocs\tests\DB\inscription.php on line 55
Si vous pouvez m'aider, merci beaucoup par avance. (Ma ligne 55 pointe sur
if ($req_mail['mail'] <> ""){)
Eyiro.
- Edité par NathanGaillard6 24 février 2021 à 17:27:20
if (!$req_mail){ pas if ($req_mail['mail'] <> ""){
Que renvoie PDOStatement::fetch quand il n'y a pas/plus de ligne ? FALSE ! Est-ce que tu trouves logique d'écrire FALSE['mail'] ?
Ca aurait peut être été plus simple d'employer un SELECT COUNT.
- Edité par julp il y a 2 minutes
Dieu pardi ! Mille merci !
C'est surement une erreur stupide, mais j'ai pas trop le niveau encore merci beaucoup !
Verifier si un mail existe déjà dans ma BDD
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli