Advertisement
Zalati

Mail Tracking (Avec DB)

Sep 14th, 2017
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.78 KB | None | 0 0
  1. <?php
  2. //--Récupération de l'@ IP
  3.     if($_SERVER)    {
  4.             if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
  5.                     $adress = $_SERVER['HTTP_X_FORWARDED_FOR'];
  6.                 elseif(isset($_SERVER['HTTP_CLIENT_IP']))
  7.                     $adress = $_SERVER['HTTP_CLIENT_IP'];
  8.                 else
  9.                     $adress = $_SERVER['REMOTE_ADDR'];
  10.     }
  11.     else        {
  12.                 if(getenv('HTTP_X_FORWARDED_FOR'))
  13.                     $adress = getenv('HTTP_X_FORWARDED_FOR');
  14.                 elseif(getenv('HTTP_CLIENT_IP'))
  15.                     $adress = getenv('HTTP_CLIENT_IP');
  16.                 else
  17.                     $adress = getenv('REMOTE_ADDR');
  18.     }
  19.     //Requête sur l'adresse IP
  20.     $iptmp=mysql_query("select adripmail from retour where mail='".$mail."'");
  21.     $adrip=mysql_fetch_assoc($iptmp);
  22.     //@IP = valeur par défaut -> nouvelle lecture -> mise à jour de tous les champs
  23.     if($adrip['adripmail']=="xx")
  24.     {
  25.         mysql_query("update retour set nombre=nombre+1, date='".$date."', adripmail='".$adress."' where mail='".$mail."'");
  26.     }
  27.     else        //Seconde lecture
  28.     {
  29.         //Si @IP actuelle est différente de celle enregistrée
  30.         if($adress!=$adrip['adripmail'])
  31.         {
  32.             //Test pour éviter les doublons
  33.             $req=mysql_query("select * from retour where adripmail='".$adress."' and mail='".$mail."'");
  34.             $res=mysql_num_rows($req);
  35.             if($res=='0')
  36.             {
  37.                 //Si non présent, on insère une nouvelle ligne dans la base
  38.                 mysql_query("insert into retour(mail,nombre,date,adripmail) values('".$mail."','1','".$date."','".$adress."')");
  39.             }
  40.             else
  41.             {
  42.                 //Sinon, update du compteur de lecture
  43.                 mysql_query("update retour set nombre=nombre+1 where mail='".$mail."' and adripmail='".$adress."'");
  44.             }
  45.         }
  46.         else    //Sinon update du compteur de lecture
  47.         {
  48.             mysql_query("update retour set nombre=nombre+1 where mail='".$mail."' and adripmail='".$adress."'");
  49.         }
  50.     }
  51.     //Fermeture de la connexion sql
  52.     mysql_close();
  53. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement