Anonyme 19853
| Posté : 02-07-2003 11:11
J'ai toujours un probleme de compteur qui ne marche pas
le message d'erreur est le suivant
Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\plib\counter\compteur.php:2) in c:\program files\easyphp\www\plib\counter\compteur.php on line 17
et le script et le suivant :
<html>
<?
//compteur.php
//compteur graphique d'accès au pages
define("NB_CHIF",5); //nombre de chiffres du compteur
define("FONTE",5); //fonte utilisée
//envoie d'une image contenant le texte de la chaine $str (et fin du prog)
function envoi_image($str){
$str=str_pad(substr($str,0,NB_CHIF),NB_CHIF,"0&quo t;,STR_PAD_LEFT);
$image=Imagecreate(NB_CHIF * ImageFontWidth(FONTE),ImageFontHeight(FONTE));
$bg=ImageColorAllocate($ima ge,255,0,0);
ImageString($image,FONTE,0,0,$str,ImageColorAllocate($image,2 55,255,255));
Header("Expires : 1 1 1970 12:00:00 GMT"); //pour forcer le rechargement
header("Content-Type : image/png"); //type MIME envoyé
ImagePng($image);
exit;
}
//on logue dans la base la page appelante
$ref_page=strtok($_SERVER["HTTP_REFERER"],"?" );
if (empty($ref_page)){
envoi_image("reference ?"); //page appelante non définie
}
//connexion à Mysql
if(!($link=@mysql_pconnect("localhost","compteur" ,""))){
envoi_image("connexion ?"); //connexion impossible
}
//connexion à la base
if (!($query=@mysql_select_db("bdplib"))){
envoi_image("base ?");
}
//recherche du nombre d'accès dans la base comptage
if (!($query=@mysql_query("SELECT * FROM log WHERE page='".addslashes($ref_page)."';"))){
envoi_image("re quete ?");
}
if (@mysql_num_rows($query)==0){
@mysql_query("INSERT INTO log (nombre,page) VALUES(1,'".addslashes($ref_page)."');");
envoie_image(1);
}
$arr=@mysql_fetch_array($query);
$n=$arr["nombre"] ;
@mysql_query("UPDATE log SET nombre = nombre + 1 WHERE page ='".addslashes($ref_page)."';");
envoie_image($n);
?>
</html>
Aidez moi SVp
|
|
|