cs_pyranhaz
Messages postés236Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention13 décembre 2004
-
15 déc. 2003 à 15:48
floflotz
Messages postés240Date d'inscriptionlundi 16 décembre 2002StatutMembreDerniè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;}
floflotz
Messages postés240Date d'inscriptionlundi 16 décembre 2002StatutMembreDerniè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