Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

EN 1 PAGE RECUPERER LA PROVENANCE D'UN VISITEUR + MYSQL


Information sur la source

Catégorie :Base de données Niveau : Expert Date de création : 18/01/2003 Date de mise à jour : 18/01/2003 17:41:53 Vu : 6 416

Note :
6 / 10 - par 3 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

Description

pourquoi faire enorme et incompreensible , quand on peu faire en une page
et efficace lisible conpréenssive et simple a mettre en place
de Rottweiler
certain ce le son demander je suis dogmongo :) il me reconnaitrons  
 

Source

  • ALLER! VOUS CREER VOTRE BASE
  • CREATE TABLE stats (
  • id tinyint(4) NOT NULL auto_increment,
  • ref varchar(250) NOT NULL default '',
  • ip text NOT NULL,
  • date date NOT NULL default '0000-00-00',
  • heure time NOT NULL default '00:00:00',
  • PRIMARY KEY (id)
  • ) TYPE=MyISAM;
  • ENSUITE LA PAGE MOTEUR
  • //Votre page espionage.php
  • <?php
  • //vos parametre connection modifier les
  • mysql_connect("votre domaine","votre login","votre passe");
  • mysql_select_db("votre base");
  • //je chop l'ip
  • $ip = $REMOTE_ADDR;
  • //je chop d'ou il viens si il viens direct ca marque drect dans la base
  • if( empty( $HTTP_REFERER ) or '' == $HTTP_REFERER ) {
  • $HTTP_REFERER = 'direct';
  • }
  • $ref=$HTTP_REFERER;
  • //je chop la date et heure
  • $date = date("d/m/y");
  • $heure = date("H:i:s");
  • // je cree la requete d'insertion
  • $sql = "INSERT INTO stats (ref,ip,heure,date) VALUES ('$ref','$ip','$heure','$date')";
  • //je lance ma requete
  • mysql_query($sql);
  • ?>
  • dans la page principale de votre site placer ce bout de code
  • require ('espionage.php');
ALLER! VOUS CREER VOTRE BASE

CREATE TABLE stats (
  id tinyint(4) NOT NULL auto_increment,
  ref varchar(250) NOT NULL default '',
  ip text NOT NULL,
  date date NOT NULL default '0000-00-00',
  heure time NOT NULL default '00:00:00',
  PRIMARY KEY  (id)
) TYPE=MyISAM;


ENSUITE LA PAGE MOTEUR
//Votre page espionage.php


<?php 
//vos parametre connection modifier les 
mysql_connect("votre domaine","votre login","votre passe"); 
mysql_select_db("votre base"); 

//je chop l'ip
$ip = $REMOTE_ADDR; 
//je chop d'ou il viens si il viens direct ca marque drect dans la base
if( empty( $HTTP_REFERER ) or '' == $HTTP_REFERER ) { 
   $HTTP_REFERER = 'direct'; 
   } 
$ref=$HTTP_REFERER;

//je chop la date et heure
$date = date("d/m/y"); 
$heure = date("H:i:s"); 

// je cree la requete d'insertion
$sql = "INSERT INTO stats (ref,ip,heure,date) VALUES ('$ref','$ip','$heure','$date')"; 

//je lance ma requete
mysql_query($sql); 

?>


dans la page principale de votre site placer ce bout de code
require ('espionage.php');
   

Conclusion

installation
creer la base l'exporte est plus haut
crer votre page
puis placer le bout de code dans votre page principale de votre site

bien à vous et a vos clavier  
 

Commentaires et avis

signaler à un administrateur
Commentaire de mehdibou le 18/01/2003 17:32:43

Tu t'es trompé, dans la requête, tu as mis $HTTP_REFERER au lieu de $ref par contre, pour l'ip, c'était inutile de créer une variable.

Aux débutants : ne pas placer les paramètres de connection directement dans la fonction mysql_connect, en cas d'erreur, vos indentifiants seront dévoilés. Il vaut mieux faire ainsi :
$db_domaine="votre domaine";
$db_login="votre login";
$db_passe="votre passe";
$db_base="votre base";
mysql_connect($db_domaine,$db_login,$db_passe);
mysql_select_db($db_base);

Aussi, lorsque tu écris '$variable', je pense que $variable est plus simple, nan ?

De plus, tu aurais pu ajouter l'host, car avoir une ip, c bien gentil mais c'est mieux de savoir à quoi elle correspond :

$REMOTE_HOST=@getHostByAddr($REMOTE_ADDR);

L'host vous permettra (de rares fois, l'host n'est pas accessible) de connaitre le domaine (le pays (.fr, .be, .ch, .ca, .uk, ....), ou .net, .com, ....), le FAI, et parfois la région (celà dépend du fai).

signaler à un administrateur
Commentaire de rottweiler le 18/01/2003 17:49:34

le but n'etais pas la! mehdibou , je pouvais faire une page config mais j'éstime que la plupare des developer meme debutant le ferais par eux meme sinon effectivement j'ai oublier de mettre ma requete $ref
si qui ne change en rien le code d'ailleur il marche quand meme

et si tu lit ce que j'ai dit j'ai mis le moteur principale du programme les utilisateur pourrons mettre les parametre de leur choix a leur guise l'ip est très important il permet de programmer un compteur par utilisteur et plein d'autre chose j'éstime que cela reviens au meme que ta ssesion et evite pas mal de programme unitile c'est ma devise court et efficace.

cela dit rien ne t'empeche de mettre un code identique a ta magniere
ce site est fait pour ca et te connaissant tu peut en faire un sympatoche j'attend de voir ton travail
amicalement rottweiler alias dogmongo

signaler à un administrateur
Commentaire de DVTAZ le 20/01/2003 21:36:46

Salut a vous,

moi je l ai installé(pouvoir sur, mon site !!) et ca marche impect,
sauf une petite erreur dans le format de la date dans la BD,
PS: est t il possible de recupérer l adresse du visiteur, ce qui permetrait de le reconnetre et de lui envoyer un mail.
merci beaucoup pour cette exemple qui a mon sens , est clair et net !!

signaler à un administrateur
Commentaire de DVTAZ le 20/01/2003 22:12:29

RE,
je viens d essayer la version avec:
            $REMOTE_HOST=@getHostByAddr($REMOTE_ADDR);
a koi correspond, outre aol.coml es autres indications      "ACB9408D.ipt.aol.com"
??

signaler à un administrateur
Commentaire de rottweiler le 20/01/2003 22:19:27

merci pour le compliment ,pour les ajout d'option tu n'as plus qu'a te faire plaisir le moteur principale est fait et compreensible tu peut ejouter des recuperation dinformation a ta guise et en toute simplcité

signaler à un administrateur
Commentaire de rottweiler le 20/01/2003 22:43:44

en faite c'est plutot le host name que tu recupere
&lt;?
$ip = $REMOTE_ADDR;
echo "hostname : ".gethostbyaddr($ip);
?&gt;

signaler à un administrateur
Commentaire de rottweiler le 20/01/2003 22:49:24

http://php3.de/manual/fr/function.mail.php  

tu trouvera surment ton bonheur mais envoyer des mail au visiteur n'est pas chose agréable sans leur consentement moi perso j'aime pas me retrouver avec des mail plein la boite :(

signaler à un administrateur
Commentaire de mathieumg le 08/06/2003 00:35:34

pour rottweiler : je connais la fonction mail() mais je veux récupérer le e-mail de l'utilisateur (celui de son système !)

Merci

Mathieu M-G

signaler à un administrateur
Commentaire de mathieumg le 22/09/2003 12:59:22

Je n'ai jamais de valeur $HTTP_REFERER. La variable est toujours vide.

Allez sur : http://www.zonepowertapis.com/nimportekoi...

et dites-moi si il y a quelque chose dans la textbox car il est supposé d'y avoir le contenu du $HTTP_REFERER.

Merci d'avance

Mathieu M-G
http://www.maxicom.ca.tc

signaler à un administrateur
Commentaire de rottweiler le 25/09/2003 22:54:45

vérifis ta surement fait une boulette quelque part

signaler à un administrateur
Commentaire de mathieumg le 25/09/2003 23:37:14

Tout ce qe je fais c'est un print comme ceci &lt;? print($HTTP_REFERER_; ?&gt;

Je ne vois pas le problème...

Merci d'avance de m'aider

Mathieu M-G
mathieumg@zonepowertapis.com

signaler à un administrateur
Commentaire de rottweiler le 01/10/2003 08:59:43

as tu fais un autre code en te servant de mes exemples ou as tu utilisé ma source complète ?
si c'est un code de toi peu tu me le copier en entier ici SVP je pourrais peu etre t'aider.
cela dit peu etre a tu fait une error dans la base mysql qui peu etre la solution.

signaler à un administrateur
Commentaire de rottweiler le 01/10/2003 09:02:38

au faite j'éspère que tu met pas ca ????
&lt;? print($HTTP_REFERER_; ?&gt;

signaler à un administrateur
Commentaire de mathieumg le 01/10/2003 13:26:28

Non je met &lt;? print($HTTP_REFERER); ?&gt;.

Mais cela fonctionne maintenant car je ne connaissais pas cette fonction assez pour savoir qu'elle renverrait une valeur seulement à la suite d'un lien et non lors de l'entrée de l'adresse dans la barre d'adresse.

Merci de ton aide

Mathieu M-G
http://www.maxicom.ca.tc

signaler à un administrateur
Commentaire de laurentmars le 11/07/2005 12:37:44

Salut,

je suis complètement débutant en php. J'aimerais faire un chat avec webcam en utilisant netmeeting qui permettra d'avoir accès à une webcam de façon quasi anonyme. (non je ne veux pas utiliser msn !)

Comment dois-je m'y prendre pour qu'à la connexion d'un utilisateur, je puisse récupérer son adresse ip et la stocker le temps de sa connexion dans un champ afin de permettre cet appel netmeeting jusqu'a la déconnexion de l'utilisateur?

Je voudrais l'utiliser avec ce script :

http://www.rencontres-rhone-alpes.com/membrepass/

signaler à un administrateur
Commentaire de rottweiler le 13/07/2005 02:23:21

bein ca fais bizard ton site

Le cahier des charges est pas top
le membre est il inscrit ?
le membre doits il ce loggé ou s'incrire avant envoi de son IP ?
l'ip transite entre membre ? ou c'est toi qui interviens je ne sais pas comment
etc..

signaler à un administrateur
Commentaire de laurentmars le 13/07/2005 09:50:52

Oui le membre doit être inscrit, et l'envoi de son ip doit être récupéré au moment de se loguer pour être stocké dans la base.

Une fois loggué, il a donc accès à la liste des personnes connectées:

Laurentmars - Homme - 30a - Appeller

En cliquant sur le pseudo, il peut envoyer un message à la personne, et a coté du pseudo, il faut un bouton Appeller avec l'action callto:xxx.xxx.xxx.xxx (ce qui lance automatiquement netmeeting qui est le programme par défaut des appels internet lorsqu'on va sur le menu outil->options internet->Programmes->Appel internet

les xxx.xxx.xxx.xxx correspondent à l'adresse ip stockée dans la base de donnée.

peut être y a t'il une manip à faire pour coder l'adresse ip avant qu'elle n'apparaisse pas en clair en affichant le code source mais qui soit interprété pour lancer netmeeting.

le cahier des charges est un peu mieux??

signaler à un administrateur
Commentaire de rottweiler le 14/07/2005 00:26:14

oui c'est plus claire

Alors je te recommande simplement par une petite requete
pour mettre son IP à jour au moment ou il ce log
ses données devrons avoir ls champs pseudo / ip / etat / age / etc..

dans ton cas les plus important sont ip et etat (etat = membre on line ou pas!! et oui !!)

si tu as icq ou msn envoie moi tes coordonées en message privé
je verais comment on peu faire ca avec toi si j'ai 5 mn.

le plus embetant dans ton problème c'est que le membre , si il quitte ton site sans ce délogé une autre personne ne pourra pas ce connecter avec le membre (donc nouveau champs "etat")
dans l'odre commence par trouvé un système pour que le site sache si le membre est online réellement et ensuite tu règlera ton problème de ip qui n'en est pas un à vraix dire :)

signaler à un administrateur
Commentaire de AustralisxPiscis le 05/12/2005 19:03:32

Niveau Expert, hum hum...

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,16 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.