Compter une fois l'ip

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par najim78, 2 Juin 2011.

  1. najim78
    najim78 Nouveau WRInaute
    Inscrit:
    28 Août 2010
    Messages:
    15
    J'aime reçus:
    0
    Bonjour,

    je voudrait rajouter quelque chose dans ce code php qui permettrer de compter une fois l'ip du visiteur
    Code:
    <?php
    require("databaseselect.php");
    include("include/functions.php");
    $image = checkerr($_POST['text']);
    
    $uip = getIP();
    
    $image = mysql_real_escape_string($image);
    ?>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title> AdsLink.be | Réducteur de lien rémunérer </title>
    <script type="text/javascript">
    
    // 30 seconds on the clock to start with
    var timer = 5;
    
    function countdown() {
      timer--;
      var countdownArea = document.getElementById("area");
      countdownArea.innerHTML = timer;
    
      if (timer == 0) {
        // time to show the button!
        countdownArea.innerHTML = "<br><form method='POST'><input type='hidden' name='text'><input type='image' name='image' src='skipad.png'></form>";
      } else {
        // calling this function again in 1000 microseconds (1 second)
        setTimeout('countdown()', 1000);
      }
    }
    </script>
    <style type="text/css">
    
    </style>
    </head>
    
    
    <body onload="countdown();" style="margin:0; padding:0;">
    <?php
    
    $code = checkerr($_GET['code']);
    $code = mysql_real_escape_string($code);
    
    
    $query = mysql_query("SELECT * FROM items WHERE code='$code'");
    $numrows = mysql_num_rows($query);
    
    if (isset($_POST['text'])) {
    if($numrows == 1){
    
    
      $row = mysql_fetch_assoc($query);
      $url = $row['url']; 
    
    if (false === strpos($url, '://')) {
        $url = 'http://' . $url;
    }
    
      echo"<script type='text/javascript'>window.location.replace('$url'); </script>";
    
    }
    else
     die ("No Shortened url was found");
    
    mysql_close();
    
    }
    
    
    
    ?>
    
    <?php
    
    $q = mysql_query("SELECT * FROM settings WHERE id='1'");
    $qa = mysql_fetch_array($q);
    $ppv = $qa['ppv'];
    $ppr = $qa['ppr'];
    
    ?>
    
    <?php
    $qq = mysql_query("SELECT * FROM items WHERE code='$code'");
    $qarray = mysql_fetch_assoc($qq);
    $usernamm = $qarray['username'];
    ?>
    
    <?php
    $querycheck = mysql_query("SELECT * FROM ipcheck WHERE username='$code' AND ip='$uip'");
    $rowip = mysql_num_rows($querycheck);
    
    if ($rowip == 0) {
    
    $ipadd = mysql_query("INSERT INTO ipcheck (username,ip) VALUES  ('$code','$uip')");
    $addin = mysql_query("UPDATE members SET balance=balance + $ppv WHERE username='$usernamm'");
    
    $referalcheck = mysql_query("SELECT * FROM members WHERE username='$usernamm'");
    $referalfetch = mysql_fetch_array($referalcheck);
    $referalname = $referalfetch['refid']; 
    
    if ($referalname != "none") {
    $addbalref = mysql_query("UPDATE members SET balance=balance + $ppr WHERE username='$referalname'");
    }
    
    $graphup = mysql_query("UPDATE graphdetails SET date7=date7+1 WHERE username='$usernamm'");
    $hitupdate = mysql_query("UPDATE members SET hits=hits+1 WHERE username='$usernamm'");
    
    
    
    $targettingcheck = mysql_query("SELECT * FROM advertisers WHERE targetted=1 AND active=1 AND credits1 > 0 ") or die(mysql_error());
    
    $notarget = 0;
    $j = 0;
    $cadlist = array();
    if(mysql_num_rows($targettingcheck))
    {
    
    $ip = $_SERVER['REMOTE_ADDR'];
    $ip_number = sprintf("%u", ip2long($ip));
    
    $country_query  = "SELECT `country_name` FROM `ip2country` WHERE `begin_ip_num`<=$ip_number AND `end_ip_num`>=$ip_number";
    $country_exec = mysql_query($country_query);
    $ccode_array = @mysql_fetch_array($country_exec);
    $country_name = $ccode_array['country_name'];
    
    
    $j = -1;
    	while($tarrow = mysql_fetch_array($targettingcheck))
    	{
    		$countrylist = explode(",",$tarrow['countries']);
    		$i = 0;
    		while($countrylist[$i] != "")
    		{
    			if($countrylist[$i] == $country_name)
    			{
    				$j++;
    				$cadlist[$j] = $tarrow['id'];
    				
    				$notarget = 1;
    			}
    
    			$i++;
    		}
    	}
    
    }
    if($notarget == 0)
    {
    
    
    $query = mysql_query("SELECT * FROM advertisers WHERE targetted=0 AND active=1 AND credits1 > 0 ORDER BY RAND() LIMIT 0 , 1");
    $numrows = mysql_num_rows($query);
    
    if($numrows == 1)
    {
      $row = mysql_fetch_assoc($query);
      $url = $row['myurl1']; 
      $id = $row['id'];
      $url2 = $row['credits1'];
      $url3 = $url2 - 1;
    mysql_query("UPDATE advertisers SET credits1 = '$url3' WHERE id='$id'");
    
    
    }
    
    }
    else
    {
    		$randid = rand(0,$j);
    		$adverid = $cadlist[$randid];
    		
    		$query = mysql_query("SELECT * FROM advertisers WHERE id='$adverid'");
    
    if($numrows == 1)
    {
      $row = mysql_fetch_assoc($query);
      $url = $row['myurl1']; 
      $id = $row['id'];
      $url2 = $row['credits1'];
      $url3 = $url2 - 1;
    mysql_query("UPDATE advertisers SET credits1 = '$url3' WHERE id='$id'");
    
    
    }
    
    
    
    
    }
    
    
    
    
    
    
    
    }
    
    else {
    
    $targettingcheck = mysql_query("SELECT * FROM advertisers WHERE targetted=1 AND active=1 AND credits1 > 0 ") or die(mysql_error());
    
    $notarget = 0;
    $j = 0;
    $cadlist = array();
    if(mysql_num_rows($targettingcheck))
    {
    
    $ip = $_SERVER['REMOTE_ADDR'];
    $ip_number = sprintf("%u", ip2long($ip));
    
    $country_query  = "SELECT `country_name` FROM `ip2country` WHERE `begin_ip_num`<=$ip_number AND `end_ip_num`>=$ip_number";
    $country_exec = mysql_query($country_query);
    $ccode_array = @mysql_fetch_array($country_exec);
    $country_name = $ccode_array['country_name'];
    
    
    $j = -1;
    	while($tarrow = mysql_fetch_array($targettingcheck))
    	{
    		$countrylist = explode(",",$tarrow['countries']);
    		$i = 0;
    		while($countrylist[$i] != "")
    		{
    			if($countrylist[$i] == $country_name)
    			{
    				$j++;
    				$cadlist[$j] = $tarrow['id'];
    				
    				$notarget = 1;
    			}
    
    			$i++;
    		}
    	}
    
    }
    if($notarget == 0)
    {
    $query = mysql_query("SELECT * FROM advertisers WHERE targetted=0 AND active=1 AND credits1 > 0 ORDER BY RAND() LIMIT 0,1");
    $numrows = mysql_num_rows($query);
    
    if($numrows ==1)
    {
      $row = mysql_fetch_assoc($query);
      $url = $row['myurl1']; 
    
    }
    
    }
    else
    {
    		$randid = rand(0,$j);
    		$adverid = $cadlist[$randid];
    		
    		$query = mysql_query("SELECT * FROM advertisers WHERE id='$adverid'");
    
    
    
      $row = mysql_fetch_array($query);
      $url = $row['myurl1']; 
    
    
    
    }
    
    }
    ?>
    
    <div style="width: auto; margin:0;"><div style="float:left;"><img src="/img/logo.png"> 
    	<span style="font-size:18px;"><strong><span style="color:#000000;">&nbsp; &nbsp;<strong><span style="font-size:14px;"><a href="http://urllll.be/register.php"><span style="color:#000000;">Gagner de l&#39;argent avec vos liens</span></a> /&nbsp;<a href="http://urlll.be/register.php"><span style="color:#000000;"><span class="hps" title="Cliquer ici pour voir d'autres traductions">Earn</span>&nbsp;<span class="hps" title="Cliquer ici pour voir d'autres traductions">money with</span>&nbsp;<span class="hps" title="Cliquer ici pour voir d'autres traductions">your</span>&nbsp;<span class="hps" title="Cliquer ici pour voir d'autres traductions">link</span></span></a></span></strong></p></div><div id="area" align="right" style="width: 100%; height: 90px; background: url(images/fond.png) repeat-x;"><br><img src="loading.gif"></div> </div> 
    <iframe src='<?php echo"$url"; ?>' border='0' framespacing='0' marginheight='0' marginwidth='0' vspace='0' hspace='0' frameborder='0' height='100%' scrolling='auto' width='100%' id='site' allowtransparency='true'></iframe></div>
    
    </body>
    </html>
     
  2. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Tu peux pas mettre aussi tes templates html et tes fichiers cache ? Ca nous aiderait :d
     
  3. najim78
    najim78 Nouveau WRInaute
    Inscrit:
    28 Août 2010
    Messages:
    15
    J'aime reçus:
    0
    Le template ce trouve a la fin du code en faite c'est une page généré qui va faire une redirection sur un lien, comme un reccoucisseur d'url, je veux simplement qu'il comptabilise le nombre de visiteur avec une ip unique.
    En gros le visiteur sera compter qu' une fois avec la même ip.
     
  4. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Il faut que tu sauvegardes l'ip lorsque tu la comptes pour la première fois en base de données par exemple. Ensuite quand le même visiteur revient et que son adresse est trouvée en base de données, tu ne la comptes plus.
     
  5. najim78
    najim78 Nouveau WRInaute
    Inscrit:
    28 Août 2010
    Messages:
    15
    J'aime reçus:
    0
    oui, c'est plus claire mes comment faire je suis assez limiter en php -_-
     
  6. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 969
    J'aime reçus:
    121
    Tu peux jeter un oeil à la variable serveur $_SERVER['REMOTE_ADDR'], par exemple.
     
  7. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Approfondir tes connaissances en php avant tout alors :D
     
  8. vlana
    vlana WRInaute discret
    Inscrit:
    29 Août 2008
    Messages:
    125
    J'aime reçus:
    14
    Récupère l'IP et mets-la dans une variable de session.
    Au prochain chargement de la page, reprends ta variable de session et fais un test sur la nouvelle IP. Si c'est identique, alors c'est qu'il s'agit du même visiteur.

    Petit exemple pour te montrer. Attention, je l'ai fait rapidement juste en exemple. Il faudra l'adapter à tes besoins.

    Code:
    //On mets une petite variable booléene à "vrai" pour commencer
    $b_nouveau_visiteur=true;
    
    // Si la variable de session est assignée, la comparer avec l'ip du visiteur
    if (isset($_SESSION['sauve_ip']==true) 
    {
    // Si c'est identique, alors ce n'est pas un nouveau visiteur !
     if ( $_SESSION['sauve_ip'] == $_SERVER['REMOTE_ADDR']) {$b_nouveau_visiteur=false;}
    }
    
    // Si la variable de session n'est pas encore assignée, lui assigner l'IP du visiteur
    if (isset($_SESSION['sauve_ip']==false) 
    {
     $_SESSION['sauve_ip'] = $_SERVER['REMOTE_ADDR'];
    }
    
    
     
Chargement...
Similar Threads - Compter fois Forum Date
Compter le nombre de fois ou une page a été vue Développement d'un site Web ou d'une appli mobile 3 Juin 2010
mécanique - machine à compter les champignons Demandes d'avis et de conseils sur vos sites 28 Janvier 2020
RGPD et conséquences des titres émis à compter de 2020 Droit du web (juridique, fiscalité...) 8 Janvier 2020
Compter les clics sur liens sortants avec redirection Google Analytics 9 Mai 2019
Comment compter les lettres d'un texte ? Développement d'un site Web ou d'une appli mobile 27 Août 2016
Compter le nombre d'occurrences d'un mot dans un site Google : l'entreprise, les sites web, les services 30 Juillet 2014
COmpter nombre de clic (vs visite) Google Analytics 9 Septembre 2013
Script pour compter et afficher le nombre de mots d'une page Développement d'un site Web ou d'une appli mobile 5 Février 2013
[lemondedutennis.com] Vos avis compteront tous :) Demandes d'avis et de conseils sur vos sites 13 Décembre 2012
Compter les affichages de bannières sous GA pour avoir le taux de clic Google Analytics 10 Septembre 2012
Filtre prédéfini sur analytics : ne pas compter une adresse IP Google Analytics 7 Décembre 2011
Microsoft [GAG] Quand Microsoft ne sait plus compter Le café de WebRankInfo 28 Novembre 2011
Compter le nombre de liens vers une même page Administration d'un site Web 17 Octobre 2011
Compter les IP francaises Administration d'un site Web 22 Juillet 2011
Meilleure façon de compter les visiteurs Développement d'un site Web ou d'une appli mobile 20 Juillet 2011
compter les fans facebook Facebook 20 Avril 2011
[PHP/MySQL] Compter le nombre de checkbox cochées Développement d'un site Web ou d'une appli mobile 11 Septembre 2010
Compter le nombre de clients à l'aide de Google Analytics Google Analytics 27 Octobre 2009
Compter les impressions (Humains & Robots) ? Développement d'un site Web ou d'une appli mobile 3 Août 2009
Compter le nombre de mots dans une chaine de caractères Développement d'un site Web ou d'une appli mobile 19 Mai 2009