begin process at 2012 05 27 19:17:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > MESVISITEURS

MESVISITEURS


 Information sur la source

Note :
Aucune note
Catégorie :Réseau & Internet Classé sous :site web, visites, visiteurs, statistiques Niveau :Débutant Date de création :10/06/2010 Date de mise à jour :19/05/2012 14:46:41 Vu / téléchargé :5 163 / 459

Auteur : pgl10

Ecrire un message privé
Site perso
Commentaire sur cette source (29)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici un script simple qui permet de connaître les visiteurs de mon site web. Il n'utilise pas de base de données ni aucun cookie. Pour chaque visiteur on enregistre son adresse IP, la date de sa première visite, la date de sa dernière visite et le nombre de ses visites. On fait l'hypothèse que deux adresses IP différentes corespondent à deux visiteurs différents. On décide qu'un autre visiteur venu moins d'une heure avant le visiteur actuel est un visiteur connecté simultanément. Et quand le visiteur fait une nouvelle visite à moins d'une heure après sa dernière visite celle-ci n'est pas comptée comme une viste supplémentaire. Toutes ces suppositions sont arbitraires et quand elles ne sont pas respectées les résulats sont biaisés mais restent utilisables.
Pour installer le logiciel on met dans le dossier de la page d'accueil le contenu du zip ci-joint, sauf bien sûr les fichiers index.html et exemple.html qui servent à montrer comment activer le script visites.php. Les fichiers statistiques.php et visiteurs.php permettent d'afficher les données des visites effectuées.
Ce logiciel convient pour un site web simple et visité modestement.

Source

  • <?
  • function getUserIP() {
  • if($_SERVER) {
  • if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  • elseif(isset($_SERVER['HTTP_CLIENT_IP'])) $ip = $_SERVER['HTTP_CLIENT_IP'];
  • else $ip = $_SERVER['REMOTE_ADDR'];
  • }
  • else {
  • if(getenv('HTTP_X_FORWARDED_FOR')) $ip = getenv('HTTP_X_FORWARDED_FOR');
  • elseif(getenv('HTTP_CLIENT_IP')) $ip = getenv('HTTP_CLIENT_IP');
  • else $ip = getenv('REMOTE_ADDR');
  • }
  • return ($ip);
  • }
  • $now=time();
  • $dossier="visites";
  • $visiteur=getUserIP(); // adresse IP du visiteur actuel
  • $new="oui";
  • $handle=opendir($dossier);
  • while ($tmp = readdir($handle)) {
  • if($tmp == "$visiteur") { // si le visiteur actuel est déjà venu
  • $new="non";
  • $fichier="$dossier/$visiteur";
  • $fp=fopen("$fichier","r");
  • $buf = fgets($fp,40);
  • fclose($fp);
  • list($nb,$vis1,$visz)=explode('|',$buf);
  • if(($now-$visz)>3600) { $nb=$nb+1; } // si c'est une nouvelle visite
  • $fp=fopen("$fichier","w");
  • fputs($fp,"$nb|$vis1|$now"); // on met à jour son fichier
  • fclose($fp);
  • }
  • }
  • if($new == "oui") { // si l'adresse IP du visiteur n'a pas été vue on crée son fichier
  • $nb=1;
  • $fichier="$dossier/$visiteur";
  • $fp=fopen("$fichier","w");
  • fputs($fp,"$nb|$now|$now");
  • fclose($fp);
  • }
  • $nbs=0; // nombre de visiteurs actuels connectés "simultanément" ( dans la même heure )
  • $handle=opendir($dossier);
  • while ($tmp = readdir($handle)) {
  • if($tmp!="." && $tmp!=".." && $tmp!="index.html" && $tmp!="maximum") {
  • $fichier="$dossier/$tmp";
  • $fp=fopen("$fichier","r");
  • $buf = fgets($fp,40);
  • fclose($fp);
  • list($nb,$vis1,$visz)=explode('|',$buf);
  • if(($now-$visz)<3600) { $nbs=$nbs+1; } // on a trouvé un visiteur de la même heure
  • }
  • }
  • $fichier="$dossier/maximum";
  • $fp=fopen("$fichier","r");
  • $buf = fgets($fp,40);
  • fclose($fp);
  • list($nbx,$visx)=explode('|',$buf); // nbx : nombre maximum de visiteurs "simultanés"
  • if($nbs > $nbx) {
  • $fp=fopen("$fichier","w");
  • fputs($fp,"$nbs|$now"); // mise à jour du maximum de visiteurs "simultanés"
  • fclose($fp);
  • }
  • ?>
<?
function getUserIP() {
    if($_SERVER) {
        if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
        elseif(isset($_SERVER['HTTP_CLIENT_IP'])) $ip = $_SERVER['HTTP_CLIENT_IP'];
        else $ip = $_SERVER['REMOTE_ADDR'];
    }
    else {
        if(getenv('HTTP_X_FORWARDED_FOR')) $ip = getenv('HTTP_X_FORWARDED_FOR');
        elseif(getenv('HTTP_CLIENT_IP')) $ip = getenv('HTTP_CLIENT_IP');
        else $ip = getenv('REMOTE_ADDR');
    }
    return ($ip);
}
$now=time();
$dossier="visites";
$visiteur=getUserIP();    // adresse IP du visiteur actuel
$new="oui";
$handle=opendir($dossier);
while ($tmp = readdir($handle)) {
    if($tmp == "$visiteur") {     // si le visiteur actuel est déjà venu 
        $new="non";
        $fichier="$dossier/$visiteur";
        $fp=fopen("$fichier","r");
        $buf = fgets($fp,40);
        fclose($fp);
        list($nb,$vis1,$visz)=explode('|',$buf);
        if(($now-$visz)>3600) { $nb=$nb+1; }  // si c'est une nouvelle visite 
        $fp=fopen("$fichier","w");
        fputs($fp,"$nb|$vis1|$now");          // on met à jour son fichier
        fclose($fp);
    }
}
if($new == "oui") {   // si l'adresse IP du visiteur n'a pas été vue on crée son fichier 
    $nb=1;
    $fichier="$dossier/$visiteur";
    $fp=fopen("$fichier","w");
    fputs($fp,"$nb|$now|$now");
    fclose($fp);
}
$nbs=0;   // nombre de visiteurs actuels connectés "simultanément" ( dans la même heure )
$handle=opendir($dossier);
while ($tmp = readdir($handle)) {
    if($tmp!="." && $tmp!=".." && $tmp!="index.html" && $tmp!="maximum") {
        $fichier="$dossier/$tmp";
        $fp=fopen("$fichier","r");
        $buf = fgets($fp,40);
        fclose($fp);
        list($nb,$vis1,$visz)=explode('|',$buf);
        if(($now-$visz)<3600) { $nbs=$nbs+1; }  // on a trouvé un visiteur de la même heure
    }
}
$fichier="$dossier/maximum";
$fp=fopen("$fichier","r");
$buf = fgets($fp,40);
fclose($fp);
list($nbx,$visx)=explode('|',$buf);  // nbx : nombre maximum de visiteurs "simultanés" 
if($nbs > $nbx) {
    $fp=fopen("$fichier","w");  
    fputs($fp,"$nbs|$now");    // mise à jour du maximum de visiteurs "simultanés"
    fclose($fp);
}
?>

 Conclusion

Le fichier visites.php est commenté. L'installation est très simple. Et pour l'activer il suffit d'ajouter dans le html des pages visitées :
<script language="javascript" src="visites.php"></script>
On peut facilement faire quelques améliorations et/ou variantes.
Vos remarques sont les bienvenues.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

10 juin 2010 22:10:38 :
Mise en place de l'amélioration de Morphinof
10 juin 2010 22:20:54 :
Terminer la première mise à jour qui était incomplète.
19 mai 2012 14:10:29 :
Mise à jour selon les commentaires de Olafgrossebaffe et Georges26
19 mai 2012 14:46:41 :
pour corriger une erreur de parenthèses

 Sources du même auteur

Source avec Zip Source avec une capture GÉOLOCALISATION

 Sources de la même categorie

INSPECTEUR DE PAGES (VÉRIFIEZ SI DES SITES AFFICHENT UN TEXT... par pablo836
Source avec Zip Source avec une capture GÉOLOCALISATION par pgl10
Source avec Zip TAPI : METTRE EN RELATION DEUX POSTES TELEPHONIQUES par ravery
Source avec Zip CLIENT / SERVEUR : LES SOCKETS par Morphinof
Source avec Zip VALIDATEUR_3WC par lezj

 Sources en rapport avec celle ci

COMPTEUR DE VISITEUR : PHP ET MYSQL par didguess
Source avec Zip Source avec une capture BLACKLAGOON APPS par CrazyShooter
Source avec Zip QUI VISITE QUOI? par kiwi1nut
Source avec Zip Source avec une capture STATS FAI par ImmortalPC
FICHIERS LOG, STATS, TRACES DU PASSAGE DES VISITEURS SUR UN ... par gergalp

Commentaires et avis

Commentaire de Morphinof le 10/06/2010 21:22:42

2 remarques,
1. $visiteur=getenv("REMOTE_ADDR") ca ne marche pas en cas de proxy, ceci est un peu plus precis dans le releve de l'ip
function getUserIP()
{
  if($_SERVER)
  {
    if($_SERVER['HTTP_X_FORWARDED_FOR']) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    elseif($_SERVER['HTTP_CLIENT_IP']) $ip = $_SERVER['HTTP_CLIENT_IP'];
    else $ip = $_SERVER['REMOTE_ADDR'];
  }
  else
  {
    if(getenv('HTTP_X_FORWARDED_FOR')) $ip = getenv('HTTP_X_FORWARDED_FOR');
    elseif(getenv('HTTP_CLIENT_IP')) $ip = getenv('HTTP_CLIENT_IP');
    else $ip = getenv('REMOTE_ADDR');
  }

  return ($ip);
}

2. Ton script ne fait pas la difference entre un robot ou un humain c'est domage parceque certaines ip permettent de faire une difference pas a 100% mais ca serais a gerer

Bonne continuation

Commentaire de pgl10 le 10/06/2010 22:16:05

Merci Morphinof. L'amélioration proposée est maintenant prise en compte. Gérer la différence entr'un visiteur humain ou un visiteur robot ce serait bien si c'est simple et si l'utilisateur le souhaite. Mais je ne sais pas le faire.

Commentaire de pgl10 le 11/06/2010 08:46:23

Une copie identique au logiciel présenté ici est en service dans mon site : http://pgl10.chez.com Pour en voir l'utilisation il faut cliquer sur "<Entrez>" puis sur "Évènements".

Commentaire de gillardg le 11/06/2010 10:32:49

bonjour pgl10 ,

je viens de visiter ton site et je ne te félicite pas pour le choix des couleurs , ça fait mal aux yeux

Commentaire de bonhommecrea le 13/06/2010 18:01:23

pas mal, j'ai hâte de voir le résultat !

Commentaire de GREGGRAPH le 14/06/2010 01:48:03

Super, je vais faire un test sur mon site, pour voir

Commentaire de fozeufr le 14/06/2010 08:29:58

salut à tous. j'apprecis le travail de tous malheureusement pour moi le temps m'empêche de participer aussi activement ke vous autres.je veus juste apporter une legère remarque par rapport à l'ensemble des compteurs de visteurs, c'est une observation.pensez-vous que les FAI founissent à chaque abonné une adresse IP publique(puisue ce nombre est très limité)? car sur la toile c'est cette adresse qui est visible. en plus si j'ai une connexion internet chez moi et je décide de faire un réseau interne:rx local(disons 3 machines) afin de partager ma connexion. Quand les 3 machines se connectent sur un même site, n'ont-elles pas la même adresse IP?soit un visiteur,cependant c'est bien 3 visiteurs. Ettendez cela à une entreprise, un Ministère...
Mon script à moi utilise une database mais je manque franchement le tps pr le mettre à votre disposition. je profite de l'occasion pr le mettre à la suite de ces lignes. A vous de l'intèpreter

<?php  /*/compteur des visiteurs*/
$ip=$_SERVER['REMOTE_ADDR'];
$dat=time();
include("connexion.php");
$req="select * from visiteur where adresseip='$ip' order by id desc limit 0 , 1 ";
$resul=$db->query($req);
if($resul)
{
if($resul->rowCount()!=0)
{
$don=$resul->fetchObject();
$dat_an=$don->duree;
$id=$don->id;
$d=$dat-$dat_an;
//on verifie l'initialisation de la session
if(!isset($_SESSION['val']))
{
$reqin="insert into visiteur values('null', '$ip', '$dat')";
$db->exec($reqin);
$_SESSION['val']=1;
//on compte le nombre de ligne
$req="select count(*) as nombre from visiteur";
$resul=$db->query($req);
$don=$resul->fetch();
$_SESSION['nbre']=$don['nombre'];
}
if($d>1200)
{
$reqe="insert into visiteur values(' ', '$ip', '$dat')";
$db->exec($reqe);
//on compte le nombre de ligne
$req="select count(*) as nombre from visiteur";
$resul=$db->query($req);
$don=$resul->fetch();
$_SESSION['nbre']=$don['nombre'];
}
else
{
$reqes="update visiteur set duree='$dat' where id='$id' limit 1";
$db->exec($reqes);
}
}
else
{  
// c'est sa first visite
$reqin="insert into visiteur values('null', '$ip', '$dat')";
$db->exec($reqin);
//on compte le nombre de ligne
$req="select count(*) as nombre from visiteur";
$resul=$db->query($req);
$don=$resul->fetch();
$_SESSION['nbre']=$don['nombre'];
}
}
else
{

}
$nbre=$_SESSION['nbre'];
echo'vous êtes le '.$nbre.'<sup>éme</sup>visiteur(s)' ;
$db=null;
?>

Commentaire de pgl10 le 14/06/2010 09:23:12

Merci à BONHOMMECREA et GREGGRAPH pour ces commentaires. Merci aussi à FOZEUR pour ces remarques et ce code auquel je réponds : 1°) je préfère séparer l'enregistrement des visiteurs et leur affichage 2°) je voulais quelquechose de très simple 3°) dans les faits, mes hypothèses arbitraires sont souvent infirmées, je le sais et je l'admets, donc les résulats en pâtissent un peu. Cela vaut de continuer à chercher mieux ou à développer quelquechose de simple mais plus excact.

Commentaire de gillardg le 14/06/2010 09:33:54

salout,
compare ip os et useragent

:)

Commentaire de pgl10 le 14/06/2010 09:40:25

Merci aussi à FOZEUFR ( orthographe ! ). Pour améliorer l'hypothèse : une adresse IP égale un visiteur, on peut utiliser un cookie, c'est très facile, mais il y a des visiteurs qui n'autorisent pas les cookies ... Pour un grand nombre de visiteurs une base de données est préférable et facilite  divers affichages : par première date, par dernière date, par nombre de visites ...

Commentaire de olafgrossebaffe le 14/06/2010 12:11:13


Par pitiéééé,
pour identifier vos utilisateurs arrêtez d'utiliser seul l'adresse IP ça veut plus rien dire depuis que tout le monde a un routeur chez soit

utilisez systematiquement l'IP ET le PORT
notation : "127.0.0.1:5487" ou "192.168.1.1:31458" (exemple d'adresse locale)

l'adresse de port sert a atteindre precisement le service d'un ordi qui est situé derriere le(les) routeur(s) (ou le(les) proxy(ies)). le port reste inchangé tant que la "connection" n'est pas rompue entre apache et l'utilisateur.

donc memorisez l'IP avec le PORT, si l'un des deux change c'est qu'il y a eu une perte de connection, donc que l'utilisateur n'es plus forcement le même

dans ce cas refaire une identification si vous ne voulez pas utiliser de cookies

pour info il est extremement rare que votre feuilleteur utilise le meme port pour se reconnecter, c'est la même chose pour le routeur, il faut un certain temps avant qu'un port soit recyclé

à titre sublimiale ces quelques ligne devraient vous donnez des idées, evidement vous devez savoir gérer les session et utiliser ça au debut de chaques pages envoyé juste après l'ouverture de session

function initStatistique()
{ $_SESSION['ip']=$_SERVER['REMOTE_ADDR'] ;
$_SESSION['port']=$_SERVER['REMOTE_PORT'] ;
$_SESSION['utilisateur']['connection']=$_SESSION['ip'].':'.$_SESSION['port'];
$_SESSION['timestamp']=time();
$_SESSION['domaine']=gethostbyaddr($_SERVER['REMOTE_ADDR']);
}

voila,
faites vos essais

Commentaire de pgl10 le 14/06/2010 14:31:08

Merci GILLARDG et OLAFGROSSEBAFFE pour vos commentaires qui permettraient de distinguer 2 visiteurs ayant la même adresse IP. Cela pourra servir plus tard. Mais actuellement dans mon cas simple, la majorité des adresses IP ne sont vues qu'une seule fois. Le plus utile serait de reconnaître le même visiteur qui revient avec une adresse IP différente. Malheureusement, un cookie ne convient pas : il peut être interdit ou bien détruit par le visiteur. L'analyse du user-agent, qui n'est pas normalisé, fournit divers renseignements mais pas un identifiant fiable. Il y a-t-il un moyen simple et légal non pas d'identifier le visiteur mais de distinguer le PC utilisé ? Peut-être, mais je ne souhaite pas et je n'ai pas besoin d'aller loin dans ce domaine.

Commentaire de gillardg le 14/06/2010 15:00:54

tu peux aussi comparer la définition de 'écran le nombre de couleurs

voici de quoi étoffer http://www.javascriptfr.com/codes/BROWSER-SNIFFER-RENIFLEUR_18013.aspx

Commentaire de olafgrossebaffe le 14/06/2010 15:19:57

"Le plus utile serait de reconnaître le même visiteur qui revient avec une adresse IP différente. Malheureusement, un cookie ne convient pas : il peut être interdit ou bien détruit par le visiteur."

bah tu lui demande son identifiant et son mot de passe...
si il revient avec une IP diferente et que c'est la même personne c'est qu'il a changé d'ordi... donc il faut le réidentifier... logique non ?

oui un cookie peut etre detruit par l'user, mais là ça reviend au même : réindentification par identifiant/mot de passe et pi c'est tout (on va pas se laisser embeter par des mecs qui cherchent la petite bête)

pour le moment on ne peut pas detecter le code génétique de l'user donc ident et mot de passe et pi on recommence si perte de connection
les cookie peuvent permetre de se passer de cette réidentification un moment mais ça sert a rien d'aller plus loin (d'ailleur niveau securité les cookie son copiable donc il vaut mieux s'en passer pour une ident)

ensuite l'utilisateur peut toujours passer son ordi a un copain et du coup l'identification est caduque mais on a rien pour le savoir, il peut aussi partir alors qu'il est logué dans ton site, là c'est pareil un fraudeur peut venir utiliser son compte

bref une bete identification a debut de la connection et eventuellement un 'timedelay' suffit amplement

ps: quand je parle de "connection" c'est au sens "tcp/ip" et couches osi que je l'entends, c'est a dire que l'ip et le port reste le même tout le temps de la connection

Commentaire de pgl10 le 14/06/2010 17:14:57

A tous : Merci. A partir de ma variante toute simple pour enregistrer les adresses IP des visiteurs nos/vos commentaires proposent : 1°) de distinguer les visiteurs humains et les visiteurs robots 2°) de distinguer deux  visiteurs ayant la même adresse IP 3°) de retrouver le même visiteur ayant une adresse IP différente automatiquement ou via un login. Tout cela a des avantages et des inconvénients connus. L'idée de départ n'est déjà pas bien originale. Il me semble que nous sommes arrivés dans une discussion déjà maintes fois tenue dans le monde PHP. Ce n'est bien que pour ceux qui ne la connaisse pas. Je vais donc en rester à mon petit script tout simple. A ce sujet, parmi bien d'autres références, voir par exemple :
http://actuel.fr.selfhtml.org/articles/programmation/nombre_visiteurs/index.htm

Commentaire de fozeufr le 15/06/2010 08:05:00

Merci à olafgrossebaffe d'avoir évoqué la notion de port et pr ces quelques lignes de code qui nous servirons sans doute.le but d'une discussion est de lever les points d'ombres.

Commentaire de pgl10 le 15/06/2010 09:04:26

Bonjour FOZEUFR. Moi aussi je vous remercie ici et tous ceux qui ont proposé des compléments de code pour améliorer mon petit script. Et de plus la discussion en cours m'a beaucoup fait progresser dans la connaissance des solutions pour s'informer des visiteurs de son site Web. Pour ceux qui voudraient encore d'autres références à ce propos :
http://www.phpcs.com/forum/sujet-CONNAITRE-VISITEUR-IP_591463.aspx
http://forum.hardware.fr/hfr/Programmation/PHP/php-identifier-ip-sujet_101187_1.htm

Commentaire de bonhommecrea le 18/06/2010 17:50:52

euh  olafgrossebaffe

c'est moi ou tu as noter mon IP la ? oO"

Commentaire de olafgrossebaffe le 18/06/2010 18:58:30


bonhommecrea, biensur, j'aime te citer en exemple ;)


plus sérieusement : ne confondez pas l'adresse local de votre ordi a l'interieur de votre réseau local et l'adresse ip de votre modem routeur du coté d'internet... ni celle coté réseau local non plus... bref chaque connecteur rj45 a sa propre adresse... hummm, non, finalement je ne vais pas vous parler d'adresse mac, vous vous embrouillez deja suffisement avec les ip ^^

bonne continuation et... bonne chance ;)

Commentaire de GREGGRAPH le 19/06/2010 09:11:06

Bonjour,

Y a t'il la possibilité avec ce compteur de garder en mémoire les visites pour les additionner et donc avoir un compte total des visiteurs du site depuis la mise en service du compteur?

Commentaire de pgl10 le 19/06/2010 09:25:40

Bonjour GREGGRAPH, Le script statistiques.php inclus dans le zip affiche plusieurs résultats dont le compte total de visiteurs et de visites effectués. Vous pouvez le voir dans mon site : http://pgl10.chez.com cliquez sur "<Entrez>" puis sur "Évènements".

Commentaire de GREGGRAPH le 19/06/2010 09:33:30

désolé, je n'avais pas vu, malgré la capture d'écran qui pourtant l'indique mais tout à 1 !
Je n'ai plus qu'à essayer de l'installer sur mon site à la place de celui en place qui est plus simple et beuacoup moins fiable :)

Commentaire de akid le 15/12/2011 23:13:23

merci a tous

Commentaire de georges26 le 16/05/2012 20:39:11

Bonjour à tous

merci à pgl10 qui m'a mis sur la piste, je viens de l'installer et j'ai quelques soucis !
Il me renvoi ces erreurs :
PHP Notice:  Undefined index: HTTP_X_FORWARDED_FOR in visites.php on line 4
PHP Notice:  Undefined index: HTTP_CLIENT_IP in visites.php on line 5
PHP Deprecated:  Function split() is deprecated in visites.php on line 28
PHP Deprecated:  Function split() is deprecated in visites.php on line 50
PHP Deprecated:  Function split() is deprecated in visites.php on line 58

Comment je peux régler le problème ?
Merci d'avance
Georges

Commentaire de georges26 le 18/05/2012 13:40:17

RE

j'ai trouvé la parade pour les 2 première erreurs !!
Il faut rajouter isset :

Le résultat

<?php
function getUserIP() {
    if($_SERVER) {
        if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
elseif(isset($_SERVER['HTTP_CLIENT_IP'])) $ip = $_SERVER['HTTP_CLIENT_IP'];
        else $ip = $_SERVER['REMOTE_ADDR'];
    }
    else {
        if(getenv('HTTP_X_FORWARDED_FOR')) $ip = getenv('HTTP_X_FORWARDED_FOR');
        elseif(getenv('HTTP_CLIENT_IP')) $ip = getenv('HTTP_CLIENT_IP');
        else $ip = getenv('REMOTE_ADDR');
    }
    return ($ip);
}

reste les PHP Deprecated:  Function split()  !!!

Commentaire de olafgrossebaffe le 18/05/2012 15:11:45

Pour "georges26" :

la fonction split() est OBSOLETE depuis PHP 5.3.0, il ne faut plus l'utiliser car dans les prochaine version de php elle sera supprimé

à toi de réécrire ton scipt en te passant de cette vieille fonction

Commentaire de georges26 le 18/05/2012 15:20:53

Bonjour olafgrossebaffe

Merci pour cette info que j'avais déjà !! ;-)
Le hic est que je ne suis pas l'auteur de ce script !
et la fonction qui remplace split qui est : preg_split me renvoi elle aussi des erreurs
PHP Warning:  preg_split()Delimiter must not be alphanumeric or backslash in visites.php on line 28, 50 et 58
Et je n'ai pas encore trouvé comme faire la modif !

Si t'a la solution je suis preneur :)

Commentaire de olafgrossebaffe le 19/05/2012 12:55:06

n'ayant pas le code où se trouve le fameux split() je vais avoir un peu de mal a vous trouver une solution

malgès tout, il faut savoir qu'il n'y a jamais une seule façon de faire. la règle serait plutot l'inverse : un algoritme peut etre programmé d'une multitude de façon. la plus grande preuve c'est qu'un "algoritme" ne depend pas d'un langage de programmation et donc a ce titre, on peut le programmer avec toute les forme de lagage existant (bonne chance avec le logo ;)

ce qui me permet de faire un reverse ingenering sur cette affirmation : quand une fonction dans un script est imposé c'est que cette fonction fait enormement de chose pour "coller" a l'agoritme qu'elle cherche a retranscrire

ce que je veus dire par là c'est que cette fameuse fonction split() vous DEVEZ la connaitre par coeur de l'interieur. chercher a la copier avec tel ou tel autre fonction ne fera que géner des erreur de parametre par ci par là dans votre algo

bref : l'affirmation "la fonction qui remplace split qui est : preg_split" est fausse car tu peux utiliser aussi la fonction explode() en fonction du script, mais de toute façon il y a des nuances entre split(), explode() et preg_split() et de toute façon ELLE NE FONT PAS EXACTEMENT LA MEME CHOSE, ce qui explique qu'il faille connaitre exactement leur fonctionnement pour prevoir les modifictation du script pour avoir un fonctionement qui colle à l'algo

et c'est là que je veux en venir : changer de fonction dans un script implique un remaniment profond de ce script pour qu'il continu de fonctionner comme avant

il te faudra donc te plonger dans le fonctionnement de split() et de la façon dont elle est utilisé dans ton script pour esperer pouvoir adapter ton code. car c'est bien ça le probleme il te faudra comprendre intergallement une fonction qui n'existe plus pour esperer pouvoir faire fonctionner ton code en n'utilisant plus cette fonction que tu aura maitrisé

ça semble etre du travail "pour rien" mais en fait c'est un peu ça la programmation...

ps: méssage subliminale : en fonction de ton utlisation tu dois surement utiliser un preg_split() suivit d'un explode() et pense qu'un antislash devant le slash ça peu te décoincer... je dis ça, je dis rien...

Commentaire de pgl10 le 19/05/2012 15:04:33

Merci à Georges26 et Olafgrossebaffe pour vos commentaires qui sont pris en compte dans la version du 19/05/2012. Et pour ceux qui souhaitent voir la géolocalisation du pays d'origine des visiteurs du site web il suffit d'aller voir : http://www.phpcs.com/code.aspx?ID=54090

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

FERank - Mesure d'audience professionnelle [ par amo 2a ] Bonjour, Etant en phase finale de développement je me permet de vous présenter notre outils d'analyse statistique. (Si je ne me trouve pas dans la bo enregistrer l'IP des visiteurs de son site [ par jeanclod13 ] Bonjour à tous, J’ai créé un site sur ma copropriété avec une zone réservée aux copropriétaires pour y accéder pour ceux qui le souhaitent chacun a u Informations de vos visiteurs par email [ par bigrat ] [b]Recevoir les informations des personnes qui passe sur votre site web.[/b] [code=php]<? $lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; $user = $_SERVER[" Rien ne se modifie dans mon fichier... Pourquoi ? [ par jytest ] Bonjour, Débutant en php, j'ai un souci avec ce code qui a l'air de fonctionner... sauf qu'il ne fonctionne pas... rien ne change dans le fichier 'vi Les caractères de fin de records des fichiers [ par jytest ] Bonsoir, J'ai un code php qui me donne des soucis. Dans le fichier d'abord lu "visites.txt" : pour le 1er : il y a 6 chiffres (prochain libre dans le statistique de frequentation [ par startech ] salut je veux un algorithme en ( php/mysql) qui fait des statistiques de frequentation sur mon site ( Visites, visiteurs et pages vueus , Moyenne de p problème affichage du nombre de visiteurs [ par fredoann ] Bonjour ,j'ai réalisé un site que j'ai installé sur un PC qui fait office de serveur.Sur ce pc tout fonctionne,et particulièrement le nombre de visite Etablir des statistiques par visiteur ? [ par cdoliv ] Bonjour, J'ai besoin de votre aide, car je voudrais faire (sur mon site spip) des statistiques, mais PAR VISITEUR !!! J'explique, chacun se connecte compter le nombre de visiteurs [ par esteller ] Bonjour à tous. je n'arrive pas à compter le nombre total de visiteurs de mon site. voici le code de ma page connectes.php: [code=php] <?php $retour Classement visiteurs par clef [ par audiogenic ] Bonjour, Je vais vous expliquer mon problème. Alors je construis un site de statistiques de sites distant pour webmasters(mes clients), à l'intérieur


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales