Enregistrement de 2 variables dans un cookie

duff31 Messages postés 1 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 5 novembre 2010 - 5 nov. 2010 à 12:03
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 5 nov. 2010 à 15:22
Bonjour

Je suis débutant en php et j'ai un probleme au niveau des cookies.
En effet je voudrais via mon formulaire enregistrer dans le cookie le login et le mot de passe mais je n'arrive pas à enregistrer mes 2 variables.
Voici mon code si vous pouvez m'aider.
Merci d'avance

Index.php
<html>
<head>
<title>Index du site</title>


<?
// on teste la déclaration de notre cookie
if (isset($_COOKIE['pseudo'])) {
echo 'Bonjour '.$_COOKIE['pseudo'].' '.$_COOKIE['mdp'].'!';
}
else {
echo 'Notre cookie n\'est pas déclaré.';

// si le cookie n'existe pas, on affiche un formulaire permettant au visiteur de saisir son nom
echo '<form action="traitement.php" method="post">';
echo 'Votre nom : 
';
echo 'Mot de passe : 
';
echo '';
}
?>


</html>


traitement.php
<?php
If (isset($_POST['nom']) + ($_POST['mdp'])) {
// on définit une durée de vie de notre cookie (en secondes), donc un an dans notre cas
$temps = 365*24*3600;

// on envoie un cookie de nom pseudo portant la valeur de la variable $nom, c'est-à-dire la valeur qu'a saisi la personne qui a rempli le formulaire
setcookie ("pseudo", $_POST['nom'], time() + $temps);
setcookie ("mdp", $_POST['mot'], time() + $temps);

// fonction nous permettant de faire des redirections
function redirection($url){
if (headers_sent()){
print('<meta http-equiv="refresh" content="0;URL='.$url.'">');
}
else {
header("Location:$url");
}
}

// on effectue une redirection vers la page d'accueil
redirection ('index.php');
}
else {
echo 'La variable du formulaire n\'est pas déclarée.';
}
?>

1 réponse

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
5 nov. 2010 à 15:22
Salut,

Tout d'abord, sache qu'il ne faut jamais stocker dans un cookie un mot de passe en clair. C'est mal. Déjà, le stocker sur le client c'est pas top, mais en clair... Au pire, il faut le chiffrer avec un algorithme de hash (md5 ou plutôt au minimum sha1), tu peux aussi le chiffrer symétriquement avec mcrypt, mais il faut être très pointilleux sur la question.

Bon sinon, tu n'utilises pas la bonne variable, donc ça peut pas marcher. Ta variable post est $_POST['mdp'] et toi tu veux absolument utiliser $_POST['mot'].

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
Rejoignez-nous