Communauté Informatique NDFR.net : probleme cookie - Programmation Web (HTML, PHP, ASP, Java, XML, etc.)
Reply
probleme cookie
Thread Tools Display Modes
  #1  
Old 25-03-2003, 20:35
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
probleme cookie

salut

j'ai fais un ptit site pour mon clan de counter-strike, et g fais tt un syteme ou on peut sinscrire, ce logger, etc...

mais g deja essayer plein de truc pour ke kan on ce log il insere un pti cookie pour par apres plus devoir se logger !!!

mais ca marche po !!!

ici le ptit code ke g mit quand lutilisateur se log et kil a coché le "memoriser":

Quote:
if(strlen($checkbox) != 0)
{
$cookie_life = time() + 31536000;
setcookie("name", $user, $cookie_life);
setcookie("pass", $password, $cookie_life);
}
Alors comment par apres quand lutilisateur viens sur le site, je dit kil dois aller chercher le cookie et kil doit le verifier et logger si verification est correct ????

jespere ke vous comprenez mon bleme car c'est un peux compliquer a expliquer ...
Reply With Quote
  #2  
Old 25-03-2003, 21:05
TheBeO TheBeO is offline
Membre junior
 
Join Date: 28-10-2002
Posts: 8
deja pour recuperer les infos d'un cookie :

$mavar = $HTTP_COOKIE_VARS["NomDuCookie"];

puis créer un fichier veriflog.php :
PHP Code:
<?
//mettre les infos de connexion à la base ici
...
//on recupere le nom et pass du user dans le cookie
$name $HTTP_COOKIE_VARS["Name"];
$pass $HTTP_COOKIE_VARS["Pass"];
//test si $name est vide pas la peine de tester le log, le cookie est absent
if (empty($name)) {
     
//on redire sur la page de login, ou l'accueil ...
     
header("Location : page.php");
}
//sinon on continue pour vérifier le pass et le user
$requete_sql "SELECT user.* from user WHERE user.name =  $name";
//execution sql
$res mysql_query ($requete_sql) or die ("Erreur de connection");
//recupere la ligne
$row mysql_fetch_array($res);
//verif si le user existe : on compte le nbe de lignes renvoyer
if (mysql_num_rows($res) < 1) {
     
//on redire sur la page de login, ou l'accueil ...
     
header("Location : page.php");
}
//test mot de passe
if ($pass != $row["pass"]) {
     
//on redire sur la page de login, ou l'accueil ...
     
header("Location : page.php");
}
//Ok ici le user est bon et le pass aussi
//on crée un cookie pour la session
setcookie("UserLogged","true");

//puis redirection sur la page ...
header("Location : page.php");
?>
ensuite sur tes pages tu insères ce bout de code en début de fichier (important avant tout texte !!)
PHP Code:
<?
//test sur cookie et log
//si pas loggué on recherche le cookie de session et si trouvé on verif le login
if (! $HTTP_COOKIE_VARS["UserLogged"] and $HTTP_COOKIE_VARS["User"] != "") {
      
header("Location: veriflog.php");
}
?>
voilà c'est peut-étre à modifier un peu pour ton site mais ça devrait te donner une idée déjà

un conseil : pour les mots de passes pensent à les crypter
du genre avant de l'enregistrer dans ta base envoie :
crypt($pass) au lieu de $pass
et pour ton cookie pareil :
setcookie("pass", crypt($password), $cookie_life);

Reply With Quote
  #3  
Old 25-03-2003, 21:17
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
oki merci, je vais tester ca des que je sais uploader mon site a nvx car lycos font des travaux
Reply With Quote
  #4  
Old 29-03-2003, 13:41
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
et quand jtravaille avec des session???

on fais comment??
Reply With Quote
  #5  
Old 31-03-2003, 19:40
enzo19's Avatar
enzo19 enzo19 is offline
Powered by NDFR
 
Join Date: 19-10-2002
Location: Brive - Corrèze
Age: 48
Posts: 1,749
Conditions de la création de cookie
* Le client doit les accepter (lol)
* Un cookie ne peut pas faire plus de 4Ko (4 Ko c'est quand meme trés gros pour un fichier texte lol, essayez sur note pad vous verez, donc pas la peine de raconter sa life dans le cookie lol)
* Vous ne pouvez pas avoir plus de 20 cookies sur votre site (limitation de 20 cookies créé par client)

Syntaxe de la création de cookie
PHP Code:
setcookie (nomvaleur expiration répertoire domaine sécurité 
Explication des variables de la création
Nom : Le nom du cookie (nan menteur lol).
Valeur : La valeur du cookie.
Expiration : date à laquel le cookie s'efface. Il doit être timestamp Unix. A créer avec time() ou mktrime().(Si il n'y a pas d'expiration mettre NULL)
Répertoire : Désigne le répertoire où le cookie est actif dans votre site. Si il est actif pour tout le site mettez NULL
Domaine : Désigne le domaine où le cookie est actif (votre site quoi). Si vous ne spécifiez pas de domaine mettez NULL (c'est généralement le cas).
Sécurité : Désigne si vous souhaitez que le cookie ne soit communiqué que lors de connexions sécurisées (SSL). Valeur possible : TRUE ou FALSE.

Condition de création d'un cookie
Pour créer un cookie la seul condition (qui pose problème à un grand nombre de personne) c'est que la création du cookie doit être éffectuée AVANT L'ENVOIS DU header DE LA PAGE. Le header contient toutes les infos sur la page (protocol, valeur des cookies ... ) donc vous ne pouvez logiquement pas créer un cookie alors que vous avez déjà envoyé ce qui le contient.
Vous pouvez tester si le header a été envoyé en utilisant la fonction headers_sent().

Exemple :
PHP Code:
if (headers_sent())
{
echo 
"Trop tard pour la création ...";
}
else
{
echo 
"C partiii !!";

Création du cookie
* Cookie simple sans date de validité :
PHP Code:
setcookie("Mycookie","Coucou");
// ici le cookie s'appele Mycookie et contient Coucou 
* Cookie qui ne dure que 1 heure :
PHP Code:
setcookie("Mycookie","Coucou"mktime()+3600); // 3600 >> SECONDES << donc si vous voulez 1 jour par exemple mettez 86400 secondes.
// ici le cookie s'appele Mycookie, contient Coucou et s'effacera dans 1 heure 
* Cookie valide dans le dossier membre du site http://www.ndfr.com pour 1 heure :
PHP Code:
setcookie("Mycookie","Coucou"mktime()+3600"/membre/",".ndfr.com");
// ici le cookie s'appele Mycookie, contient Coucou, n'est valable que pour le dossier php de ndfr.com et s'effacera dans 1 heure 
* Cookie valide juste pour le dossier achat sur un serveur SSL (http://www.rueducommerce.fr par exemple) :
PHP Code:
setcookie("Mycookie","Coucou"mktime()+3600"/achat/"".rueducommerce.fr",TRUE);
// ici le cookie s'appele Mycookie, contient Coucou, n'est valable que pour le dossier achat du site rueducommerce.fr en mode sécurisé et s'effacera dans 1 heure 
Comment récupérer la valeur d'1 cookie
* Vous pouvez récupérer sa valeur de 2 façons :
PHP Code:
$nomducookie 
(cette méthode est à bannir car elle n'est pas sur. Utilisez la juste pour vérifier la valeur du cookie quand vous débuggez)
PHP Code:
$_COOKIE[nomducookie
La valeur est récupérée dans le tableau de register global des cookies. Ce tableau contient toutes les valeurs de cookies que vous créez dans le site. A utiliser OBLIGATOIREMENT !! (sinon je me fache lol)

Effacement du cookie
Pour effacer un cookie, rien de plus simple il suffit de le recréer.
Dans les exemples plus haut nous avons créé un cookie qui s'appele Mycookie et qui a comme valeur Coucou avec :
PHP Code:
setcookie("Mycookie","Coucou"); 
Et bien pour l'effacer il y a juste à faire :
PHP Code:
setcookie("Mycookie"); 
Et c'est tout, pas de commande delcookie() ou autre.
Reply With Quote
  #6  
Old 31-03-2003, 20:43
rog62's Avatar
rog62 rog62 is offline
Membre senior
 
Join Date: 16-11-2002
Location: Capitale du Condroz
Age: 61
Posts: 2,349
Send a message via MSN to rog62
Euh ..... urprise:
__________________
Cordialement Rog62

"Comprenne qui pourra..."
Reply With Quote
  #7  
Old 31-03-2003, 22:52
Magi-X's Avatar
Magi-X Magi-X is offline
Modérateur
1 Highscore
 
Join Date: 31-10-2002
Location: Bruxelles
Age: 40
Posts: 816
Send a message via MSN to Magi-X
Quote:
Condition de création d'un cookie
Pour créer un cookie la seul condition (qui pose problème à un grand nombre de personne) c'est que la création du cookie doit être éffectuée AVANT L'ENVOIS DU header DE LA PAGE. Le header contient toutes les infos sur la page (protocol, valeur des cookies ... ) donc vous ne pouvez logiquement pas créer un cookie alors que vous avez déjà envoyé ce qui le contient.
donc avant les <head></head> ci g bien pigé???
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Probleme de cookie Jackydown Programmation Web (HTML, PHP, ASP, Java, XML, etc.) 4 29-10-2004 20:50
Petit probléme avec outlook express !!! Alexlesioux Internet, Réseaux et Sécurité 11 31-08-2004 07:16
Probléme de lenteurs... chalouf Discussions sur le site et/ou le forum 11 22-01-2003 19:37
Probleme site!! chalouf Discussions sur le site et/ou le forum 4 21-10-2002 21:06
Problème forum claude922 Discussions sur le site et/ou le forum 15 21-10-2002 07:04

All times are GMT +2. The time now is 22:35.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.