PHP sauvegarde de visite (avec l'ip)
Dernière réponse : dans Programmation
voila mon script en PHP, il a pour but de sauvegarder les IP des visiteurs dans un fichier texte et par une comparaison dire si le visiteur est déja passé durant la journée.
Le probléme c'est que la comparaison se fait mal, la valeur d'entré est toujours a 0 alors que les IP sont les méme.
Quelqu'un peut m'aider?
Merci
<?php //ouverture ou creation fichier $fichier = date("Y-m-d"); $fp=fopen("spy/$fichier.txt","a"); $fsz=filesize("spy/$fichier.txt"); //fai $fai = gethostbyaddr("$REMOTE_ADDR"); $ip = $_SERVER['REMOTE_ADDR']; //initialisation de la variable de presence : 1 si present et 0 si absent $entrer = 0; //1er essai /*while(!feof($fp)){ $test = fscanf($fp,"%s\n"); echo 'la valeur test est :'.$test; if ($test == $ip){ $entrer = 1; break; } }*/ //2eme essai $lines = file ('spy/'.$fichier.'.txt'); foreach ($lines as $line_num => $line) { if (ereg ($line , $ip)){ $entrer = 1; break; } } echo 'la valeur de entrer est : '.$entrer; if ($entrer == 1){ echo 'ip deja enregistrer'; } else{ fseek($fp,$fsz); fputs($fp,"$ipp\n"); echo 'ip enregistrer'; } fclose($fp); ?>
Le probléme c'est que la comparaison se fait mal, la valeur d'entré est toujours a 0 alors que les IP sont les méme.
Quelqu'un peut m'aider?
Merci
Autres pages sur : php sauvegarde visite
Lassé par la pub ? Créez un compte
au lieu de l'ip que tu places dans un fichier texte, met plutôt sa somme md5. Je suppose que le fichier est visible de tous en plus, niveau respect de la vie privée c'est super bof quoi.
Évite ereg() aussi qui est une fonction très très lourde ! alors que strstr() répondra à tes besoins les plus primaires.
Juste quelques suggestions
Évite ereg() aussi qui est une fonction très très lourde ! alors que strstr() répondra à tes besoins les plus primaires.
Juste quelques suggestions
Sethpolma a dit :
Pourquoi utiliser un fichier texte, alors qu'une base de données serait bien plus adéquate pour ce genre de chose, tant au niveau performance que simplicité du code ?Soit, il n'a pas de bdd.
Soit, il veut utilisé le fichier pour autre chose.
Soit, il ne connait pas encore ce qu'est une bdd.
Lassé par la pub ? Créez un compte