Problème vérification adresse mail dans base de donnée (php)

Yuo
Invité n'ayant pas de compte PHPfrance

23 nov. 2008, 23:39

Bonsoir à tous,

Je vous sollicite car je n'ai toujours pas trouvé la réponse à mon problème après de multiples recherches sur internet.

Mon problème est simple : je souhaite vérifier lors de la validation d'un formulaire (méthode : post), que l'adresse mail que l'utilisateur aura choisi n'existe pas déjà dans la base de donnée (mysql).

Mon code est le suivant :
$db1name= "inscription";
$sql1  = "SELECT COUNT(*) AS test FROM ".$db1name." WHERE mail = '".$_POST['mail']."'";
$res  = mysql_query($sql1);
$donc  = mysql_fetch_assoc($res);

if (isset($_POST ['mail']) )
{
if(!($donc['test'] == 0))
{
echo "Adresse existe";
}
else
{
echo "Adresse existe pas";
}
}

--------------------------------------
Le problème est que j'ai toujours le message suivant après l'execution du code : Adresse existe pas
. Je met la même adresse mail ça ne détecte pas qu'elle existe déjà.

Merci à vous

ViPHP
AB
ViPHP | 5818 Messages

24 nov. 2008, 00:11

Et en faisant plus simple ?
if (isset($_POST ['mail']) )
{

$db1name= "inscription";
$sql1  = "SELECT COUNT(*) AS test FROM ".$db1name." WHERE mail = '".$_POST['mail']."'";
$res  = mysql_query($sql1);
$donc  = mysql_fetch_assoc($res);


    if($donc['test'] == 0)
    {
        echo "Adresse existe pas";
    }
    else
   {
        echo "Adresse existe";
   }
}
Si ce n'est pas toi qui rentre les adresse mail le mieux serait de protéger ta requête avec mysql_real_escape_string(). Un script assez équivalent au tiens avec l'utilisation de cette fonction http://www.phpfrance.com/forums/voir_sujet-242539.php

Yuo
Invité n'ayant pas de compte PHPfrance

24 nov. 2008, 00:52

toujours le message adresse existe pas alors que j'ajoute toujour la meme adresse.
je comprends pas d'ou ca vient
sinon pour les injection sql je ferai un truc mieux mais c'est juste ce bout de code qui bloque
merci pour ta réponse

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 nov. 2008, 17:08

Et est-ce que l'adresse existe réellement ? Si tu interroges ta base avec phpMyAdmin, est-ce que tu retrouves bien l'adresse ?

$_POST['mail'] est-elle bien renseignée ?
Quelle est la valeur de $donc['test'] retourné par ta requête ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...