Page 1 sur 1

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

Posté : 23 nov. 2008, 23:39
par Yuo
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

Re: Problème vérification adresse mail dans base de donnée (

Posté : 24 nov. 2008, 00:11
par AB
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

Posté : 24 nov. 2008, 00:52
par Yuo
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

Posté : 24 nov. 2008, 17:08
par Ryle
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 ?