Comparer une information saisie / une base de données

Résolu/Fermé
DOKTEK Messages postés 28 Date d'inscription mercredi 19 novembre 2014 Statut Membre Dernière intervention 3 mai 2015 - 23 nov. 2014 à 16:45
DOKTEK Messages postés 28 Date d'inscription mercredi 19 novembre 2014 Statut Membre Dernière intervention 3 mai 2015 - 23 nov. 2014 à 19:19
Bonjour,

J'ai encore un problème de débutant.
Cette fois il s'agit de vérifier si une adresse e-mail existe dans une base de données et dans ce cas envoyer le mot de passe.

Le code ci-après ne marche pas car la réponse est toujours la même (adresse e-mail inconnu ) que l'adresse e mail existe dans la base ou pas. (il n'y pas d'erreur au niveau d'exécution de ce code par contre et les passages pour les tests, comme par exemple afficher les adresses e-mail enregistrés, fonctionnement bien)

Si quelqu'un peut m'aider ou m'orienter vers un page web qui explique comment faire....

D'avance merci

Dan (DOKTEK)

Voici le code php

<?php
// Vérification existence adresse e-mail dans le base de données avant l'envoi du mot de passe
$courrielmatch = htmlspecialchars ($_POST['courrielmatch']);

echo '<p> Email saisi = '.$courrielmatch.'<p>';

$bdd = new PDO('mysql:host = localhost;dbname=test','root','');

$req = $bdd->prepare('SELECT * FROM base_espace_membre_bretcom');
$reponse = $bdd->query('SELECT * FROM base_espace_membre_bretcom');
header('Content-Type: text/html; charset=UTF-8');
echo '<p> On affiche les adresses e-mail enregistrées dans la base de données : </p>';
while ($donnees = $reponse->fetch())
{
echo '<p>'. $donnees ['Courriel']. '</p>';
}
echo '<p> Conclusion : </p>';

$req->execute(array(
'Courriel' => $donnees ['Courriel'],
'courrielmatch' => $courrielmatch));
$resultat = $req->fetch();

if (!$resultat)
{
echo 'Adresse e-mail inconnu';
}
else
{
echo 'Mot de passe envoyé à l\'adresse e-mail indiqué';
}
?>

2 réponses

yassinozi Messages postés 43 Date d'inscription samedi 10 juillet 2010 Statut Membre Dernière intervention 18 juin 2016 1
23 nov. 2014 à 18:45
Bonjour,

Il te faut une clause where pour faire une condition de recherche sur la base de données.

si l'adresse email que tu saisie est 'courielmatch'


$req = $bdd->prepare(' SELECT * FROM base_espace_membre_bretcom WHERE Email = : courrielmatch ');

$req->execute(array(': courrielmatch' => $courrielmatch));

$resultat = $req->fetch();

if (!$resultat)
{
echo 'Adresse e-mail inconnu';
}
else
{
echo 'Mot de passe envoyé à l\'adresse e-mail indiqué';
}

Bon courage
0
DOKTEK Messages postés 28 Date d'inscription mercredi 19 novembre 2014 Statut Membre Dernière intervention 3 mai 2015
23 nov. 2014 à 19:19
Problème résolu

Super génial !

Merci beaucoup yassinozi !
0