Auteur Sujet: Récupérer Url  (Lu 719 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne nicou

  • Débutant
  • *
  • Messages: 65
    • Galibot petites annonces
Récupérer Url
« le: 30 septembre 2003 à 09:17:38 »
Bonjour à tous,

Sur mon site (http://www.sarttilman.be/div1onsite.php), je donne la possibilité à d'autres webmasters de placer une i-frame contenant les résultats de division 1 belge sur leur site.

J'aimerais juste savoir si, à partir de cette iframe, il est possible de récupérer l'URL de la page sur laquelle elle a été placée et de l'ajouter dans une BDD. Juste histoire de savoir qui a placé le code sur son site.

Un grand merci d'avance pour vos réponses.

Nicolas
www.sarttilman.be
 

Hors ligne Patanock

  • Connaisseur
  • ***
  • Messages: 277
    • http://www.potoland.com
Récupérer Url
« Réponse #1 le: 30 septembre 2003 à 11:28:22 »
Dans ton div1.php tu récupères le REFERER ($HTTP_REFERER) et tu l'insères en base...
T'as surement d'autres variables qui doivent contenir d'autres infos, mais j'ai la flemme de chercher.

Voilà :)

Si vous cherchez une communauté et un tchat sympa, venez visiter le site qui déchire !!


Hors ligne nicou

  • Débutant
  • *
  • Messages: 65
    • Galibot petites annonces
Récupérer Url
« Réponse #2 le: 30 septembre 2003 à 13:25:05 »
Merci.
Pour ceux que ça intéresse, j'ai trouvé ce code de stats (avec referer)


<?php
error_reporting(E_ALL);

// Pour le fun, on ve'rifie que le referer est bien passe' en parame`tre d' URL ..
if(!isset($_GET['referer']) || empty($_GET['referer']) ) die('Que faites vous la ????');

// Connection au serveur SQL
// Et se'lection de la Base

// Vos infos de Connection
define('HOST' , $host);
define('USER' , $login);
define('PASS' , $password);
define('BASE', $base);

// la Table que vous avez pre'alablement cre'e
// Voir plus bas, pour connaitre sa structure.
$table = 'hdastats';

if(!@mysql_connect(HOST, USER, PASS))
    die('Impossible de se connecter au serveur SQL');
   
if(!@mysql_select_db(BASE))
    die('Impossible de selectionner la Base : ' . BASE);

// La fonction pour re'cupe'rer l' adresse IP du Visiteur
// on ve'rifie qu' il n' est pas derrie`re un PROXY
// pour re'cupe'rer une IP (a` peu pre's) valable

function get_IP() {

     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'];
        // print ("$IP");
         }
       
    return $IP;
       }




// ********* Quelques infos qui nous serviront
// On re'cupe`re l IP
$IP = get_IP();
// La date du Jour
$today = date('Y-m-d');
// Calcul du nombre de secondes restantes jusque ce soir minuit
// qui nous servira pour le Cookie
$tommorow = date('Y-m-d', strtotime("+1 day") );
$seconds = strtotime("$tommorow 00:00:00") - time() ;

// La requete qui sera envoye'e seulement si le Cookie n' est pas pre'sent

$s = "     SELECT 1
        FROM $table
        WHERE date_passage >= '$today 00:00:00'
        AND ip = '$IP' ";


// Si le Cookie est pre'sent, c est que le visiteur est de'ja venu
// on met la table a jour (ajout d' une page vue)
// avec l IP avec laquelle il est venu la premie`re fois (me'morise'e dans le Cookie)

if( isset($_COOKIE['HDAstats']) && !empty($_COOKIE['HDAstats']) ) {

    $u = "     UPDATE $table
            SET pages_vues = pages_vues + 1  
            WHERE ip = '$_COOKIE[HDAstats1]'
            AND date_passage >= '$today 00:00:00' ";
           
    mysql_query($u);
    }
   
// Le Cookie n' est pas pre'sent.
// Mais le naviguateur du visiteur est peut etre configure' pour refuser les cookies,
// ou il l' a effacer
// on jette un oeil pour voir si son IP n' est pas de'ja pre'sente
// si oui, on met la table a` jour (ajout d' une page vue) ,
// et on essaye de renvoyer un Cookie


elseif(@mysql_num_rows(mysql_query($s))) {

    $u = "     UPDATE $table
            SET pages_vues = pages_vues + 1  
            WHERE ip = '$IP'
            AND date_passage >= '$today 00:00:00' ";
           
    mysql_query($u);
   
    // On envoie le Cookie
    setcookie('HDAstats', $IP, time() + $seconds , '/');
    }
   
// Le Cookie n' est pas pre'sent, l' IP non plus
// C' est donc un nouveau visiteur
// On l' inse`re dans la table
// avec les infos qui nous interesse :
// -- Le site d' ou il vient (si il exste) -> Referer
// -- Son User Agent
//    (qui nous indiquera son naviguateur et son syste`me d' exploitation)

else {

    // On parse le Referer et le User Agent, sait on jamais !?!
    $user_agent =  addslashes($_SERVER['HTTP_USER_AGENT']);
    $referer = addslashes($_GET['referer']);
   
    $r = "     INSERT INTO $table
            VALUES('$IP', '$user_agent', NOW(), '$referer', 1) ";
           
    mysql_query($r);
   
    // On envoie le Cookie
    setcookie('HDAstats', $IP, time() + $seconds , '/');
    }

?>






<!-- STATS PAGES VUES -->
<?php include "cookies.php";?>

<p>
<!-- STATS DETAILLEES VISITEURS UNIQUES
Astuce :
On appelle le script avec un tag image de taille 1 X 1 (invisible)
en lui passant en parametre le referer
-->
<img src="stats.php?referer=<?php
echo isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'none';
?>" alt="" height="1" width="1" />
</p>

<!--   -->






// a insérer dans la base mysql
#
# Structure de la table `hdastats`
#

CREATE TABLE hdastats (
  ip varchar(20) NOT NULL default '',
  user_agent varchar(70) NOT NULL default '',
  date_passage datetime NOT NULL default '0000-00-00 00:00:00',
  referer varchar(200) NOT NULL default '',
  pages_vues int(8) NOT NULL default '0',
  KEY ip (ip),
  KEY user_agent (user_agent),
  KEY date_passage (date_passage),
  KEY referer (referer),
  KEY pages_vues (pages_vues)
) TYPE=MyISAM;