Problème avec ce script

cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004 - 15 déc. 2003 à 15:48
floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006 - 15 déc. 2003 à 18:30
Qu'est-ce qui ne va pas avec ce script ???

<?

// Paramètre de connexion MySQL
$host="host";
$user="user";
$pass="pass";
$name="base";
$table="compteur";

if(!file_exists("compteur.txt")) {//on vérifie si le fichier compteur.txt existe
$fp=fopen("compteur.txt",'w');
fputs($fp,'0');//compteur vaut 0
fclose($fp);}

// Récupération de la date et de l'ip
$today = date("Y/m/d H:i");
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

//connection a la base de données
mysql_connect($host,$user,$pass);

//selection de la base de données
mysql_select_db($name);

//on selectionne la colonne ip
$req1=mysql_query("select date from compteur where ip='$ip'");
$result1=mysql_fetch_array($req1);//on met le résultat dans un tableau
if(!empty($result1)){//si le tableau n'est pas vide (c'est a dire que l'ip est dans la table)
if (!in_array($today,$result1)){//on vérifie si la date correspondante est celle d'aujourd'hui
mysql_query("UPDATE compteur SET date=$today WHERE ip='$ip'");//si c'est pas le cas, on la change
$fp=fopen('compteur.txt', 'r+');
$c=fread($fp,10000000);
$c++;//incrémentation du compteur
fseek($fp,0);
fputs($fp,$c);
}if (in_array($today,$result1)){exit;}//si la date du jour est dans le tableau on sort
exit;}

if(empty($test)){//si la table est vide on la rempli avec l'ip et la date du jour
mysql_query("INSERT INTO compteur (ip,date) VALUES ('$REMOTE_ADDR','$today')");
$fp=fopen('compteur.txt', 'r+');
$c=fread($fp,10000000);
$c++;//incrémentation du compteur
fseek($fp,0);
fputs($fp,$c);
exit;}

$req3=mysql_query("select ip from compteur");//on sélectionne la colonne ip
$result3=mysql_fetch_array($req3);//on met le résultat dans un tableau
if (!in_array($ip,$result3)){//si l'ip n'est pas dans le tableau
mysql_query("INSERT INTO compteur (ip,date) VALUES ('$REMOTE_ADDR','$today')");//on insert l'ip avec la date
$fp=fopen('compteur.txt', 'r+');
$c=fread($fp,10000000);
$c++;//incrémentation du compteur
fseek($fp,0);
fputs($fp,$c);
exit;}

?>

3 réponses

floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006
15 déc. 2003 à 15:56
qu'est ce qui ne marche pas ? as tu une erreur ? qu'est ce qui devrait se produire et ne se produit pas ?

plus d'infos stp
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
15 déc. 2003 à 18:10
On me donne une erreur PARSE à la ligne 18

J'ai beau regarder, je ne vois pas de virgule ou point virgule ou quoi que ce soit qui provoque ce genre d'erreur...

je n'ai pas pu tester le reste du script qui doit afficher un compteur de visiteur unique par jour...

La PARSE inconnue m'empèche d'aller plus loin dans mon test de ce script...

Merci de tes lumières, moi je suis dans la pénombre...
0
floflotz Messages postés 240 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 6 janvier 2006
15 déc. 2003 à 18:30
je vois pas trop d'ou vient cette erreur (je l'ai pas chez moi perso) mais en tout cas y'a quelques trucs qui ne vont pas :
- $test est défini nulle part et tu l'utilises dans le script
- dans les requete insert, tu fais appel à la variable $remote_addr et je pense que tu voulais mettre $ip

je sais pas si cela va changer le problème mais peut etre que ca fera un peu avancer les choses
0
Rejoignez-nous