[PHP] Manipulations des cookies

Manipulations des cookies [PHP] - Programmation

Marsh Posté le 04-09-2001 à 17:20:46    

Salut ! je ne comprend pas sur ma page index j'insere la ligne php suivante :
 
<?php include"Compteur.inc"; ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!--Description -->
<title>AideReaper... Aide sur tous les logiciels de BlackSun</title>
Etc.......
 
Dans le fichier compteur.inc il y a ca :
<?
// Regarde si le fichier Visiteurs.txt sinon il le crée
if(file_exists("Visiteurs.txt" ))
   {
print "";
   }
else
   {
$fp=fopen("Visiteurs.txt","a" );
fputs($fp,"0" );
fclose($fp);
   }
?>
<?
//Regarde si le cookie Compteur existe
if (isset($Aidereaper) && $Aidereaper =="Vu" ){
 $fichier="Visiteurs.txt";
 $fp=fopen("$fichier","r+" );
 
} else { // Cookie absent (premiere visite, ou bien cookie expiré
setcookie("Aidereaper","Vu",time()+3600,"" );
 
   
 $fichier="Visiteurs.txt";
 $fp=fopen("$fichier","r+" );
 $hits=fgets($fp,10);
 $hits++;
 fseek($fp,0);
 fputs($fp,$hits);
 fclose($fp);
 $count++;
}
?>
 
Et bien logiquement ca devrais fonctionner. Que dalle, nada. Il a ecrit le cookie au debut et comptabilise une visite mais apres l'avoir effacé il ne veut plus remettre un cookie et une visite.
Alors si quelqu'un pouvais me dire l'erreur.
 
MErci d'avance

Reply

Marsh Posté le 04-09-2001 à 17:20:46   

Reply

Marsh Posté le 04-09-2001 à 17:24:08    

setcookies ou toute autre fonction qui manipule les cookies doit etre utilisée AVANT toues production de code html, ce qui n'est pas le cas dans ton exemple.

Reply

Marsh Posté le 04-09-2001 à 17:27:43    

gizmo a écrit a écrit :

setcookies ou toute autre fonction qui manipule les cookies doit etre utilisée AVANT toues production de code html, ce qui n'est pas le cas dans ton exemple.  




 
Bein si puisque je l'ai mis tout en haut !  
Donc y a pas d'execution html

Reply

Marsh Posté le 04-09-2001 à 17:29:37    

je confirme il faututiliser la fonction setcookie avant tous (juste aprés ton includ par exemple)  :)

Reply

Marsh Posté le 04-09-2001 à 17:30:32    

sisi, quand tu fait  
?>
<?
c'est considéré comme de la production de code html :D

Reply

Marsh Posté le 04-09-2001 à 17:32:10    

gizmo a écrit a écrit :

sisi, quand tu fait  
?>
<?
c'est considéré comme de la production de code html :D  




 
Arrête tes conneries un peu !  :p  
 
Mais le include c normal car mon setcookie est dedans

Reply

Marsh Posté le 04-09-2001 à 17:33:58    

je dis pas de connerie c'est la pure vérité!

Reply

Marsh Posté le 04-09-2001 à 17:42:25    

Y a personne qui peux m'aider ici ?  
 
Car je ne comprend rien !
 
Je m'xplique encore une fois,
donc quand je me connecte pour la première fois a la page il me crée mon cookie, comptabilise ma visite. Mais après avoir supprimer le cookie de mon ordi, il me recrée pas un autre cookie et ne me recomptabilise pas ma visite.
Y a pas un truc avec un header ??

Reply

Marsh Posté le 04-09-2001 à 17:53:08    

:bounce:

Reply

Marsh Posté le 04-09-2001 à 18:20:35    

AIdez moi, SVP

Reply

Marsh Posté le 04-09-2001 à 18:20:35   

Reply

Marsh Posté le 04-09-2001 à 18:52:44    

pour les cookies :
 
1 - pour pouvoir être activé, la page doit être rechargée ==> header("location:...." )
2 - pour lire un cookie les informations se trouvent dans le tableau $HTTP_COOKIE_VAR("nomducookie" )
 
apparemment tu ne lis le cookie à aucun endroit dans ton code....

 

[edtdd]--Message édité par Sh@rdar--[/edtdd]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 04-09-2001 à 18:59:48    

aut'chose : pourquoi faire un test avec
 if ( ) {
 print "";
}
 :??:  :??:  
tu pourrais pas plutôt tester l'inverse ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 04-09-2001 à 19:51:58    

Voila ou j'en suis rendu :
 
<?
if (!isset($Aidereaper)){
// Cookie absent (premiere visite, ou bien cookie expiré
setcookie("Aidereaper","Vu",time()+3600,"" );
 
 $fichier="Visiteurs.txt";
 $fp=fopen("$fichier","r+" );
 $hits=fgets($fp,10);
 $hits++;
 fseek($fp,0);
 fputs($fp,$hits);
 fclose($fp);
 $count++;
}
?>
<html>
 
Maintenant si quelqu'un pouvait me mettre les headers ou il faut car je comprend pas à koi ca sert.
 
Merci quand même

Reply

Marsh Posté le 04-09-2001 à 20:33:23    

ajoute ça avant le reste
 
$Aidereaper = $HTTP_COOKIE_VARS["Aidereaper"];
 
là tu teste si le cookie existe ou pas.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 04-09-2001 à 20:36:45    

pas besoin, les variables du cookies sont chargées automatiquement, du moins avec la version 4. Et alors isset suffit.

Reply

Marsh Posté le 04-09-2001 à 20:37:14    

plus je relis ton code moins je pige ce que tu as envie de faire...
 
c'est un comteur pour savoir le nombre de fois que les mêmes personnes sont venues ? tu mets chaque visite dans le même fichier visiteur.txt ??


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 04-09-2001 à 20:39:39    

euh pour le header, faut ajouter
 
header("location:$PHP_SELF" );  
 
juste après le setcookie

 

[edtdd]--Message édité par Sh@rdar--[/edtdd]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 04-09-2001 à 20:39:51    

Non mais c un compteur tout simple, mais avec un cookie pour ne pas que quand le gars il reactualise il me rajoute une visite.
 
Voilà ou ça en est :

<?
$Aidereaper = $HTTP_COOKIE_VARS["Aidereaper"];
if (isset($Aidereaper) && $Aidereaper =="Vu" ){
print "ok";
} else {
// Cookie absent (premiere visite, ou bien cookie expiré
setcookie("Aidereaper","Vu",time()+3600,"" );
 
$fichier="Visiteurs.txt";
$fp=fopen("$fichier","r+" );
$hits=fgets($fp,10);
$hits++;
fseek($fp,0);
fputs($fp,$hits);
fclose($fp);
$count++;
}
?>

 
Et quand j'efface le cookie de mon disque et il me dis tjs qu'il a le cookie et ca je comprend pas.

Reply

Marsh Posté le 04-09-2001 à 20:43:20    

pour la suppression c'est normal, puisque si tu n'as pas le cookie il le définit !
 
à chaque fois que tu l'efface, ton script crée un nouveau cookie !


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 04-09-2001 à 22:55:13    

Non mais il est plus sur mon disque le cookie quand il me dit ça

Reply

Marsh Posté le 05-09-2001 à 00:24:53    

YOOOOOOOOOOOOOOOOOOUUUUUUUUUUUUUUUUUUUUUUUPPPPPPPPPPPPPPPPPPPPPIIIIIIIIIIIIIIIIIIIIIIIIIII !!!!!!!!!!!!!!!!!!
 
Ca marche depuis le debut c moi qui ce tromper pour supprimer le cookie donc c normal qui disais qu'il était tjs là !
 
Allez bonne nuit :)
 
YYYYYYEEEEEEEEEESSSSSSSSSSSS  
SSSSSSSSSSSUUUUUUUUUPPPPPPPPPPPEEEEEEEEEEEERRRRRRRRRRR
 
Excusez moi mais c que je suis content


---------------
- Aide pour créer un DivX -
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed