Formulaire de vérification par courriel

Rechercher

Formulaire de vérification par courriel

Par Tatayet  -  3 reponses  -  Le 25/03/2009 10:53  -  Editer  - 

Bonjour,

Je suis débutant en php. Je tatonne un peu en prennant d'un cours à l'autre pour faire mes propres essais.

Actuellement, j'ai un problème avec un formulaire de vérification que j'ai créé. Le voici:

<?php
mysql_connect("adresse", "utilisateur", "mot_de_passe");
mysql_select_db("table");
$courriel = $_POST['courriel'];
$base = mysql_query("SELECT courriel FROM clients") or die(mysql_error());
$donnees = mysql_fetch_array($base);
if (in_array($courriel, $donnees))
{
    $resultat = "OUI<br />";
}
elseif ($courriel == "")
{
    $resultat = "<br />";
}
else
{
    $resultat = "NON<br />";
}
mysql_close();
?>
<p>Courriel :</p>
<form action="verification.php" method="post">
<p>
<input type="text" name="courriel" /> <input type="submit" value="Valider" />
</p>
</form>
<p><?php echo $resultat ?></p>

Et malheureusement ça ne fonctionne pas très bien...

J'ai actuellement 4 enregistrements dans ma base MySQL. Quand je rentre le courriel du premier enregistrement, il me répond "OUI", mais quand je teste les autres courriels, j'ai forcément "NON".

Et quand je remplace le "in_array" par un "while", par contre, ça fonctionne à peu près bien. Ca me donnait des résultats du style:

OUI

NON

NON

NON

ou

NON

NON

OUI

NON

 

Pouvez-vous m'orienter vers une solution?

Merci d'avance et bonne journée.

 

 

 

Réponses apportées à cette discussion

Par saturn1  -  Le 25/03/2009 12:59  -  Haut de page  - 

le problème c'est que mysql_fetch_array rend juste la première ligne de ton résultat mysql. Donc ton premier email.

 

Tu peux faire comme cela :

<?php
$tab_email_de_la_table = array();
//ta requete qui selectionne tes email
while($a = mysql_fetch_assoc($tarequete))
{
$tab_email_de_la_table[] = $a['email'];
}
if(in_array($courriel,$tab_email_de_la_table))
//....
?>

Bonne chance ;)

 

 
Par Tatayet  -  Le 30/03/2009 10:24  -  Haut de page  - 

Formidable!

J'ai donc modifié mon script et ça fonctionne:

 

<p>Entrez votre courriel utilis&eacute; lors de l'inscription pour v&eacute;rification:</p>
<form action="verification.php" method="post">
<p>
<input type="text" name="courriel" /> <input type="submit" value="Valider" />
</p>
</form>
<?php
mysql_connect("TOPSECRETNASA", "TOPSECRETNASA", "TOPSECRETNASA");
mysql_select_db("TOPSECRETNASA");
$courriel = $_POST['courriel'];
$base = mysql_query("SELECT courriel FROM clients") or die(mysql_error());
#
$tab_email_de_la_table = array();
#
//ta requete qui selectionne tes email
#
while($a = mysql_fetch_assoc($base))
#
{
#
$tab_email_de_la_table[] = $a['courriel'];
#vauclusiennefr
}
if (in_array($courriel, $tab_email_de_la_table))
{
    echo 'OUI <br />';
}
elseif ($courriel == "")
{
    echo '<br />';
}
else
{
    echo 'NON <br />';
}
/*while ($donnees = mysql_fetch_array($base) )
{
    echo $donnees['courriel'];
    echo "<br />";
}*/
mysql_close();
?>

 

 
Par Tatayet  -  Le 30/03/2009 10:26  -  Haut de page  - 

Zut,il n'y a pas le bouton modifié le message, j'ai oublié de te dire merci beaucoup tout plein.

Je vais maintenant tenter de l'améliorer. En entrant une autre variable qui consiste à donner en fonction de la réponse, le résultat d'une autre table.

Ca se complique...

J'va y arriver.

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |