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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème vérification adresse mail dans base de donnée (php)

par Ryle » 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 ?

par Yuo » 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

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

par AB » 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

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

par Yuo » 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