script tracking

Eléphant du PHP | 297 Messages

09 juin 2007, 16:54

Bonjour,
Je souhaiterai installer sur mon site un script me permettant de déterminer la provenance des visiteurs.
Je m'explique ! Je vais remettre à certains sites des logos du miens qu'ils vont installer sur le leur.
Et je voudrais donc savoir depuis quels sites arrivent les visiteurs.
Chacun de mes logos remis avec l'url vers mon site va comporter un code propre à chacun des site partenaires, mais comment le reconnaitre et le stocker à l'arrivée sur ma page d'accueil ?
Et y t-il des risques quelconques ?
Pouvez vous m'orientez, Merci pour votre aide
Modifié en dernier par Chile le 13 juin 2007, 20:10, modifié 2 fois.

ViPHP
ViPHP | 2144 Messages

09 juin 2007, 18:32

Tout dépend le niveau de sécurité dont tu as besoin, mais si tu mets dans ton url un chiffre, différents pour chaque site.

Code : Tout sélectionner

http://www.example.com?origine=123
Tu peux récuperer cette id et à partir de là savoir que ce visiteur provient du site "123"
$_GET['origine'];

Eléphant du PHP | 297 Messages

09 juin 2007, 19:05

salut Iclo,
merci pour ton info.
je ne sais pas trop de quel niveau de sécu dont j'ai besoin.
Le projet, est que je voudrais proposer un genre d'affiliation,
basé sur le principe de code promo propre a chaque affilié.
Donc sans cookies 1mois...etc Lors d'une commande avec un
code promo, je reconnais l'affilié.
Mais je veux avoir qlqs stats qui me serviront a moi et a l'affilié,
comme le nombre de visiteurs que chaque affilié m'envoie.
D'ou ma question sur le sript tracking :)
Ces données vont Être juste cumulées dans un base pour pouvoir
etre consulté par moi ou l'affilié.

Eléphant du PHP | 297 Messages

09 juin 2007, 20:15

salut,
ben je suis parti sur cette base, et j'ai commencé à écrire un peu de script, mais je n'arrive à mettre ma base à jour:
Ma premiere question est l'écriture du lien:
http://www.example.com?track=partenaire1
mais lors de l'arrivée sur 'monsite.com' il est inscrit 'http://www.monsite.com/?track=partenaire1'
Est-ce normal ?
Ensuite sur ma page index de monsite.com
j'ai noté en haut de page
//info traking
$_GET['track']; 
puis
if (isset($_GET['track'])) 
{ 
$track = $_GET['track']; 
    //Mise à jour de la base 
	mysql_select_db($database_monsite, $monsite);
    $sql_update="UPDATE affilies SET click=click+1 WHERE track=".$track  ; 
    mysql_query($sql_update); 
	}
affilies eatnt le nom de ma base, click etant la colonne ou je souhaite cumuler le nombre de click et track la colonne nommant mes partenaires. Dans ce cas 'partenaires1'
J'ai fait l'essai plusieurs fois . Ma base contient bien un partenaire1.
merci pour votre aide

ViPHP
ViPHP | 2144 Messages

09 juin 2007, 20:58

Oups, petite erreur de ma part dans l'écriture de l'url d'exemple: :?
http://www.example.com/index.php?origine=132

Eléphant du PHP | 297 Messages

09 juin 2007, 21:17

hum...j'ai mofifié l'url...mais j'enregistre toujours pas la base...
je dois avoir une erreur de script...

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

09 juin 2007, 21:43

Petite précision sur la forme, quand vous postez un lien fictif merci d'utiliser un nom de domaine en "example.com" plutôt qu'un site existant (sauf s'il s'agit du vôtre, là c'est vous qui voyez).

ViPHP
ViPHP | 2144 Messages

09 juin 2007, 22:01

Petite précision sur la forme, quand vous postez un lien fictif merci d'utiliser un nom de domaine en "example.com" plutôt qu'un site existant (sauf s'il s'agit du vôtre, là c'est vous qui voyez).
Oui, en effet, mais il y a vraiment des gens qui prennent n'importe quoi comme nom de domaine :lol: :lol:

Eléphant du PHP | 297 Messages

10 juin 2007, 04:46

ok, désolé.
Concernant mon script, j'arrive maintenant à remplir ma base, par contre
de deux clicks alors que je souhaite incrémenter d'1 click !
est-ce que qlq sait pourquoi ? voici mon script de mise a jour de la base:
<?php
if (isset($_GET['track'])) 
{ 
$track = $_GET['track']; 
    //Mise à jour de la base 
	mysql_select_db($database_monsite, $monsite);
    $sql_update="UPDATE affilies SET click=click+1 WHERE track='".$_GET['track']."'";
    mysql_query($sql_update); 
	}
?>

ViPHP
ViPHP | 2144 Messages

10 juin 2007, 10:52

Il faut que tu effectues des tests, avec des print, notamment pour savoir si il ne rentre pas deux fois dans ton if, etc
Difficile d'en dire plus sans avoir l'ensemble de la page sous la main.

.

Eléphant du PHP | 297 Messages

12 juin 2007, 15:45

salut Iclo,
J'ai pas encore fait de test avec print...
echo est-ce pareil ?
par contre j'ai remonté mon script juste en desous ma connection de base
<?php require_once('maconnection.php'); ?>
<?php
// si visite depuis affilie
if (isset($_GET['track'])) 
    { 
//--Mise à jour de la base 
	mysql_select_db($database_monsite, $monsite);
    $sql_update="UPDATE affilies SET click=click+1 WHERE track='".$_GET['track']."'";
	mysql_query($sql_update) or die (mysql_error()); ; 
	}
?>
mais j'ai toujours une incrementation de 2 au lieu de 1 !

Eléphant du PHP | 297 Messages

12 juin 2007, 16:21

Je ne vois pas d'ou cela peut-il venir, par contre, n'est il pas possible de rajouter une ligne en dessous de mon script pour detruire la variable track ? et ainsi meme si il y a relecture une deuxieme fois, la variable est vide ! :?

Eléphant du PHP | 297 Messages

12 juin 2007, 20:57

Je viens de faire un echo sur ma page de la variable click, il me l'affiche une fois, et l'incremente aussi 2 par 2. Je ne vois pas d'ou cela peut venir !!! à l'aide :cry:

Eléphant du PHP | 297 Messages

12 juin 2007, 21:53

Tout compte fait l'echo sur la page indique bien ma valeur +1...par contre ca incremente de 2 dans ma base.
Puis j'ai installé ce script sur une page vierge, et donc fait le test dessus, et ca incremente bien de 1 dans la base.
Donc sur ma page index, la ou se produit le phénomene, j'ai surement un retour sur le script, mais comment le trouver et comment y remedier !?? :?