Aller au contenu

Sujets conseillés

  • Réponses 51
  • Créé
  • Dernière réponse

Contributeurs actifs dans ce sujet

Contributeurs actifs dans ce sujet

Posté

Salut,

Pour voir celà moi perso j'utilise les stats de Xiti... et je regarde les referers... ainsi tu vois d'où viennent les visiteurs, du moins par quel liens extérieurs ils arrivent sur ton site!

Tu peux ainsi voir par jour, par mois ou depuis le début de l'année.

Posté

Je suis allée voir Xiti, mais c'est pour un site pro et je ne veux pas leur logo!

Du coup, il faut payer! :(

Je voudrai trouver un script gratuit...

Posté

sinon il y a toujour la solution du script maison made-in-toi-meme avec l'aide de $SERVER['referer'] ;)

Posté
sinon il y a toujour la solution du script maison made-in-toi-meme avec l'aide de $SERVER['referer'] ;)

c'est mieux, j'ai telecharge un script tout fait, cela prend 5 min a installer : cherche script php referers, dans GG

Posté

Certains hebergeurs proposent des solutions intregrees a leur package hebergement, ses solutions lisent tes fichiers logs et te generent de jolis camemberts ;)

Un exemple de logiciel utilise par les hebergeurs est webtrends ... tu dois meme peut etre pouvoir l'utiliser si tu as acces a tes fichiers logs.

Posté

A mon avis, ce qu'elle cherche c'est le moyen de comptabiliser les visiteurs que lui apportent les sites qu'elle a sur sa page de lien, en vue d'un classement par exemple.

Je lui ai envoyé un script maison mais c'est vrai qu'il n'est pas terrible, je découpe $HTTP_REFERER dans un tableau et compare ensuite les valeurs de ce tableau à des urls présentes dans un base de données. Si quelqu'un a quelque chose de plus propre, je suis également preneur.(Même si ce que j'ai fait fonctionne correctement)

Sinon, il y a toujours la solution de demander un lien avec variable type -index.php?id=xx mais au niveau de la transmission du PR, il y a mieux.

Loïc.

Posté

Bonjour,

on pourrait imaginer un script qui le fasse pour tous ceux qui en ont besoin, et ceci, sans tag visible.

Si vous êtes intéressés, et si vous avez des idées de ce que vous voulez, signalez le ici, on verra ce qu'on peut récupérer comme informations.

Il n'est pas dit que je me mette à en faire un, si le nombre de réponses est élevé ;)

Anonymus.

Posté
Bonjour,

on pourrait imaginer un script qui le fasse pour tous ceux qui en ont besoin, et ceci, sans tag visible.

Si vous êtes intéressés, et si vous avez des idées de ce que vous voulez, signalez le ici, on verra ce qu'on peut récupérer comme informations.

Il n'est pas dit que je me mette à en faire un, si le nombre de réponses est  élevé ;)

Anonymus.

il y en a deja, regardes sur hotscripts, ce serai pour rien... a moins que ce soit pour faire mieux

Posté

Merci tout le monde de toutes ces réponses! :up:

Silmaril: je prefererai un script maison comme le dit Ldo

Berberber: j'ai chercher. C'est lequel que tu as pris, tu te souviens du nom?

-ZN-: je voudrais un truc qui me suit si je change d'hebergment, donc un script maison, c'est bien! Hotscripts est anglais.... :(

Cleden: merci, mais je débute en php, et je connais pas cette affaire de découpe $HTTP_REFERER ... :blink:

Posté

Oula la!!! :blink:

Y'a plein de fichiers!!! :wacko:

Avec Cleden, ça avait l'air plus simple, mais je ne sais pas quoi faire avec le code qu'il m'a donné!

$tab = parse_url($HTTP_REFERER);/// on découpe l'url de provenance dans un tableau

$referant = "http://".$tab["host"];/// on en sort le nom de domaine

list($rien,$dossier,$dossier1,$gid,$gecos,$home,$shell) = explode("/",$tab["path"]);

$referant1 = "http://".$tab["host"]."/".$dossier;/// on en sort le nom de domaine + un niveau d'arborescence

$referant2 = "http://".$tab["host"]."/".$dossier."/".$dossier1; /// idem + deux niveaux

$requete = mysql_query("select * from liens where url_site='$referant2'");/// je vérifie en enlevent deux niveau d'arborescence

$result = mysql_num_rows($requete);

if ($result != 0)

{

$sql2 = "UPDATE liens SET clics_entrants = clics_entrants +1 WHERE url_site= '$referant2'";

mysql_query($sql2, $db);

}

else

{

$requete = mysql_query("select * from liens where url_site='$referant1'");/// je vérifie en enlevant 1 niveau d'arborescence

$result = mysql_num_rows($requete);

if ($result != 0)

{

$sql2 = "UPDATE liens SET clics_entrants = clics_entrants +1 WHERE url_site= '$referant1'";

mysql_query($sql2, $db);

}

else

{

$sql2 = "UPDATE liens SET clics_entrants = clics_entrants +1 WHERE url_site= '$referant'";

mysql_query($sql2, $db);

}

Vous pouvez m'aider dans mon chemin de croix du php? :unsure:

Ca serai sympa.

Merci

Posté

Salut Gribouille,

Quelques lignes de code php dans chaque page permettent de savoir qui est venu et d'où ... sans base de données ni installation.

Ce code php ajoute lors de chaque visite une ligne dans un fichier texte, dans laquelle tu auras la date, l'adresse IP du visiteur, le USER_AGENT (navigateur) et le référant (s'il y en a un)

<?php
$date = date("d/m/Y \à G.i:s", time());

$fp=fopen("visiteurs.txt","a");  
fwrite($fp, "Visité le $date par $REMOTE_ADDR avec $HTTP_USER_AGENT de $HTTP_REFERER\n");                              
fclose($fp);
?>

Pour tester cela, faut que les pages dans lesquelles tu rajoutes ce code soient nommées en .php.

Le fichier créé sera nommé "visiteurs.txt" ;)

Dan

Posté

tatatatata !

ne prenons pas de mauvaises habitudes ! n'oubliez pas que les variables globales sont a OFF (si elles ne le sont pas, faites comme si!)

<?php
$date = date("d/m/Y \à G.i:s", time());

$fp=fopen("visiteurs.txt","a");  
fwrite($fp, "Visité le $date par $_SERVER['REMOTE_ADDR'] avec $_SERVER['HTTP_USER_AGENT'] de $_SERVER['HTTP_REFERER']\n");                              
fclose($fp);
?>

sinon en voila 1 que j'utilise sur ma page mangeur de cigogne

Les Référants v1.0 par Laurent Adda

Posté

ca marche parce que tu as les variables globale sur ON

mais pour des raisons de securité (qui c'est vrai sont difficile a comprendre pour les debutants), il est preconisé de parametrer les variables globales à OFF.

cela dit, je pense que le post derive, donc si ca marche chez ton hebergeur avec le code de Dan, commence comme ca, tu te preoccuperas d'optimiser ton code plus tard !

Posté

bon alors si le sujet t'interesse mais que le premier lien sur phpteam n'etait pas satisfaisant (ni les liens sur la derniere page de l'article de phpteam)

peut etre que tu trouvera ton bonheur sur phpdebutant

Posté

Lorsque l'on dit que les variables globales sont à ON, cela signifie que :

Un certain nombre de variables sont disponibles, sans avoir besoin de les déclarer. En général, ce sont des variables dont a besoin php pour tourner. Elles sont visibles lorsque tu fais la fonction : phpinfo();.

Donc, une option de configuration permet de rendre visible un certain nombre de variables.

Ainsi :

Si, dans ton fichier php.ini, l'option de configuration error_reporting est à E_ALL, tu demandes à php de déclarer toutes les erreurs.

Si tu le mets à E_ERROR, alors php ne déclarera pas les erreurs qu'il rencontrera.

Donc :

A supposer que tu demandes à php de déclarer toutes les erreurs, tu peux essayer de faire juste ce petit code :

<?
echo $a;
?>

Normalement, cela va te renvoyer une erreur, disant que $a n'est pas déclaré. En effet, tu demandes à php d'afficher une variable qu'il ne connait pas.

Mais :

Tu peux demander à php d'afficher des variables qu'il connait, même si tu ne les as pas déclaré. Ce sont les variables globales. Par exemple ?

Essaie de faire :

<?
echo getenv("SERVER_NAME");
?>

Tu auras le nom du serveur qui tourne sur ta machine. Normalement, c'est 'localhost'.

Cette variable, php a besoin de la connaitre, meme si tu ne la déclare pas.

Si tu fais :

<?
echo $a;
?>

le navigateur te dira :

Notice: Undefined variable: a in ton_fichier.php on line ligne

Autrement dit, il te retournera une erreur.

Imagines un script que tu trouves sur internet, ou dont tu postes le code, inocemment, dans un forum. Les personnes qui voient ce script peuvent être tentés d'essayer d'entrer dans ton code en utilisant les variables que tu ne testes pas. Exemple :

if (auth='admin'){
// gestion de l'administration
}

Là, il suffit de faire :

http://localhost/mon_script.php?auth=admin

pour entrer dans le code.

Et ca marchera... si ton script est réglé sur register_globals = on

par contre, s'il est réglé sur register_globals = off ca ne marchera pas.

Jettes un oeil au fichier php.ini, dans le répertoires windows, tu trouveras tout un tas d'options de configuration bien utiles à connaitre (mais attention, les manipulations peuvent être... dangereuses).

Si tu as besoin de plus d'infos, n'hésites pas ;)

Anonymus.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant

×
×
  • Créer...