boucle et session
Posté : 04 juin 2012, 08:11
Bonjour,
je test le code ci-dessous et je n'arrive pas a comprendre pourquoi je rentre pas dans la boucle "if(verifyToken('contact_form'))..."
en fait quant je laisse que le test de session, celle-ci est vide...
Pouvez m'aider à résoudre ce mystère pour moi
Je ne vois pas ce qui ne vas pas.
Merci pour votre aide.
je test le code ci-dessous et je n'arrive pas a comprendre pourquoi je rentre pas dans la boucle "if(verifyToken('contact_form'))..."
en fait quant je laisse que le test de session, celle-ci est vide...
Pouvez m'aider à résoudre ce mystère pour moi
Je ne vois pas ce qui ne vas pas.
Merci pour votre aide.
Code : Tout sélectionner
<?php
session_start();
function generateToken($form)
{
$token = md5(uniqid(microtime(), true));
$_SESSION[$form.'_token'] = $token;
return $token;
}
function verifyToken($form)
{
if (!isset($_POST['token']))
{
return false;
}
elseif (!isset($_SESSION[$form.'_token']))
{
return false;
}
elseif ($_SESSION[$form.'_token'] !== $_POST['token'])
{
return false;
}
else {
return true;
}
}
if(verifyToken('contact_form'))
{
echo 'c bon:<br>'.print_r($_SESSION);
echo '<br>'.$_POST['token'];
exit();
}
else {
$token = generateToken('contact_form');
/* $token = md5(uniqid(microtime(), true));
$_SESSION['contact_form_token'] = $token;*/
print_r($_SESSION);
echo '<br>POST: '.$_POST['token'];
?>
<form action="contact.php" method="post" name="contact_form">
<input type="hidden" name="token" value="<?php echo $token; ?>" />
<button type="submit" name="envoyer" >Envoyer</button>
</form>
</div>
<?php
}
unset($_POST);
session_destroy();
?>