Problème de vérification

Résolu
The_magicien Messages postés 72 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 8 février 2009 - 27 mars 2006 à 20:11
The_magicien Messages postés 72 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 8 février 2009 - 28 mars 2006 à 12:24
Bonjour, je vous explique mon problème...

J'ai fait un formulaire d'inscription où je voudrais mettre une
fonction pour que le visiteur valide son adresse email (pour diminuer
le nombre d'adresses "bidon").

Dans la page d'envoi du formulaire, j'ai rajouté un code (aléatoire)
qui est mis à la fois sur BDD et dans le mail sous la forme
"http://www.toursdemagie.net/adresseduform.php?email= toto@test.net&idtemp=( code aléatoire) ".
Ce code aléatoire est ensuite récupéré dans la page de validation du
mail (il est pris sur la BDD). Le problème c'est que le résultat est
que la page me dit que l'adresse email n'est pas valide... Je crois que
cela est un problème lié à MYSQL mais je ne saurais pas dire quoi et
c'est pour cela que je fais appel à vous!!!



Voici un extrait de la page de validation :



<?php

if(isset($_GET['email'])AND($_GET['idtemp'])) \\ Récupération des valeurs de l'adresse

{

echo '<title>Confirmation adresse email</title>';

$connection = mysql_connect($host,$name,$passe); \\ Connection à la BDD

$db = mysql_select_db($database, $connection);

$sql
"SELECT * FROM bdd WHERE email'$email' AND idtemp='$idtemp'";

$resultat = mysql_query($sql)

or die ("Exécution de la confirmation impossible");

$conf = mysql_num_rows($resultat);

if($email=='$conf[\'email\']') \\ Si l'adresse email du lien = celle de la BDD, on continue... (Je crois que le problème est là, mais je ne sais pas quoi...)

{

if($idtemp=='$conf[\'idtemp\']') \\ Si l'ID du lien = celle de la BDD, on continue...

{


$conf_mail = "UPDATE inscriptions SET active='1'
WHERE idtemp='$idtemp'";


$result = mysql_query($conf_mail)


or die ("Exécution de la
confirmation impossible");


echo "<center>Votre adresse email a bien été
validée. Les Administrateurs ont été informés de votre
demande.
Merci de votre demande!</center>";exit;

}

else

{


echo "<center>ID incorrecte... Veuillez
réessayer...";exit;

}

}

else

{

echo "<center>Adresse email incorrecte... Veuillez
réessayer...";exit;

}

}

else

{

echo '';

}

?>



Y aurait-il quelqu'un qui sache ce qui ne va pas???

Aidez-moi s'il-vous-plaît!!!!



Merci d'avance


3 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
27 mars 2006 à 20:47
salut



if(isset($_GET['email']) && isset($_GET['idtemp']))
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
27 mars 2006 à 20:56
d'autre part,

...

$email=$_GET['email'];

$idtemp=$_GET['idtemp'];




$sql = "SELECT * FROM bdd WHERE email='$email' AND idtemp='$idtemp'";


$resultat = mysql_query($sql) or die ("Exécution de la confirmation impossible");

//$conf = mysql_num_rows($resultat);



$EMAIL=mysql_result($resultat,0,'email');// en principe 1 seul enregistrement, et qui existe


$IDTEMP=mysql_result($resultat,0,'idtemp');


if($email==$EMAIL)

...




if($idtemp==$IDTEMP)

...

MAiS...

Qu'est ce que tu fais si on ne trouve pas d'enregistrement ?

il faudrait plutot tester ton $conf, enfin tu vois ce qui t'arrange...
3
The_magicien Messages postés 72 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 8 février 2009
28 mars 2006 à 12:24
Merci ça marche!!

Mais juste un truc qui me trottine dans la tête...

Pourquoi avoir besoin de rajouter

$email=$_GET['email'];
$idtemp=$_GET['idtemp'];



Parce que durant mes tests, j'ai essayé de commencer par

if(isset($_GET['email'])AND($_GET['idtemp']))

{

echo $email;

echo $idtemp;

}

...

Et ça marchait à merveille!!

Donc pourquoi avoir besoin de rajouter cela?



Merci encore pour mon problème!!!!
0
Rejoignez-nous