Manipulations des cookies [PHP] - Programmation
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.
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
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)
Marsh Posté le 04-09-2001 à 17:30:32
sisi, quand tu fait
?>
<?
c'est considéré comme de la production de code html
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 |
Arrête tes conneries un peu !
Mais le include c normal car mon setcookie est dedans
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 ??
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]
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 ?
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
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.
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.
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 ??
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]
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.
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 !
Marsh Posté le 04-09-2001 à 22:55:13
Non mais il est plus sur mon disque le cookie quand il me dit ça
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
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