$_GET et Requete - Activation d'un membre

Eléphant du PHP | 178 Messages

01 nov. 2010, 15:04

Bonjour,

J'ai créé un espace membre, et un mail est envoyé afin de valider ce compte....

le lien de validation ressemble a ca :

http://johaaanns.free.fr/validation.php ... ACTIVATION

Voici mon code de la page qui sert a activer le compte :


if (isset($_GET['mail']) and isset($_GET['pseudo']) and isset($_GET['code']))
{
	$mail =$_GET['mail'];
	$pseudo =$_GET['pseudo'];
	$code =$_GET['code'];
	
	
	mysql_select_db($database_Cnx,$SQL_Cnx);
	$queryUp = "UPDATE membres SET membre_valide='1' WHERE membre_mail='".$mail."' AND membre_pseudo='".$pseudo."' AND membre_code_activation='".$code."'";
	$req = mysql_query($queryUp) or die('Erreur SQL !<br>'.$queryUp.'<br>'.mysql_error()); 
	if ($req == true)
	{
		echo '<div class="ValdationCompteGood">Votre compte a été validé, Vous allez être redirigé.</div>';
	}
	else
	{
		echo '<div class="ValdationCompteBad">Erreur. Veuillez contacter l\'administrateur du site.</div>';
	}
	?>
    <meta http-equiv="refresh" content="5;url=index.php" />
    <?php
}
else
{
	echo 'Erreur';
}
Une fois avoir cliqu" sur le lien, il me dit que c'est ok, mais dans la base de données, il ne fait pas l'UPDATE !! en gros :

membre_valide reste toujours à 0

????

Quelqu'un a une idée ?

Merci de vos réponse.

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

01 nov. 2010, 16:10

Salut,

Il manque le mysql_connect mais je suppose que c'est un oubli ?

Affiche queryUp avant de l'envoyer au mysql_query afin de verifier qu'elle est conforme a ca que tu attend (tu la tester directement avec phpmyadmin ou avec la console mysql).

Afin d'eviter les soucis tu devrais utiliser mysql_real_escape_string() sur les valeurs que tu recupere dans l'url.

Si tu ne trouve pas poste nous le create table de lanta le membre et un jeux de donnée que l'on ai plus d'info pour tester (eventuellelment ;) )

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 178 Messages

01 nov. 2010, 16:25

Merci de tes conseilles mais je viens de trouver...

Pour le code d'activation je l'avais encodé 2 fois..donc forcemment ca ne pouvais pas fonctionner.

Puis ensuite j'ai d'abord fait une requête rapport a mes GET.

Puis un Update rapport a l'ID...

Et ca fonctionne.

Merci de ton temps !