par
moimeme30 » 16 juin 2014, 20:43
Merci de ton aide, j'ai vérifié et la je pense avoir bon.
if (isset($_GET['id']) AND isset($_GET['session']) AND isset($_GET['token'])) {
$id = $_GET["id"] ;
$session = $_GET["session"] ;
$token = $_GET["token"] ;
$req = Cnx::connectCnx()->prepare("SELECT count(*) FROM equipe WHERE id=:id AND session=:session AND token=:token AND activate=0");
$req -> bindParam(':id', $id, PDO::PARAM_INT, 11);
$req -> bindParam(':session', $session);
$req -> bindParam(':token', $token);
$req -> execute();
$result = $req->fetchColumn();
if($result == 1){//si existe,
$req1 = Cnx::connectCnx()->prepare("UPDATE equipe SET activate=1 WHERE id=:id AND session=:session AND token=:token") ;
$req1 -> bindParam(':id', $id, PDO::PARAM_INT, 11);
$req1 -> bindParam(':session', $session);
$req1 -> bindParam(':token', $token);
$req1 -> execute();
echo "Votre compte est désormais activé. Redirection en cours... ";
header ("Refresh: 3;URL=login.php");
}
else{//pas de résultat
header ("Refresh: 0;URL=index.php");
}
}
else{
echo "erreur";
}
Ca fontionne à moitié en fait. Je ne comprend pas, mais lorsque je change dans la barre d'adresse le token ou la session, l'erreur apparaît mais l'update est quand même réalisé. et ce 2 fois sur 3... c'est à dire que parfois la BDD n'est pas mise a jour...
Merci de ton aide, j'ai vérifié et la je pense avoir bon.
[php]if (isset($_GET['id']) AND isset($_GET['session']) AND isset($_GET['token'])) {
$id = $_GET["id"] ;
$session = $_GET["session"] ;
$token = $_GET["token"] ;
$req = Cnx::connectCnx()->prepare("SELECT count(*) FROM equipe WHERE id=:id AND session=:session AND token=:token AND activate=0");
$req -> bindParam(':id', $id, PDO::PARAM_INT, 11);
$req -> bindParam(':session', $session);
$req -> bindParam(':token', $token);
$req -> execute();
$result = $req->fetchColumn();
if($result == 1){//si existe,
$req1 = Cnx::connectCnx()->prepare("UPDATE equipe SET activate=1 WHERE id=:id AND session=:session AND token=:token") ;
$req1 -> bindParam(':id', $id, PDO::PARAM_INT, 11);
$req1 -> bindParam(':session', $session);
$req1 -> bindParam(':token', $token);
$req1 -> execute();
echo "Votre compte est désormais activé. Redirection en cours... ";
header ("Refresh: 3;URL=login.php");
}
else{//pas de résultat
header ("Refresh: 0;URL=index.php");
}
}
else{
echo "erreur";
}[/php]
Ca fontionne à moitié en fait. Je ne comprend pas, mais lorsque je change dans la barre d'adresse le token ou la session, l'erreur apparaît mais l'update est quand même réalisé. et ce 2 fois sur 3... c'est à dire que parfois la BDD n'est pas mise a jour...