独特的IP访问重定向在PHP没有mysql

时间:2016-11-10 08:13:41

标签: php arrays ip unique visitor

如果我的请求看起来很愚蠢,我很抱歉。 我已经找了很长时间但没有运气。 基本上我要做的是:我想当一个访问者访问我的链接'http:// mysite时。 com / redirect .php',我的php脚本获取他的IP地址,检查它是否存在于存储在文件'hits.txt'中的ips数组中,如果确实存在,则将其重定向到另一个页面说'google.com' 如果它没有然后将他的IP地址存储在文件中,然后将他重定向到另一页说“yahoo.com”。 所以后来当他再次回访时,他被重定向到google.com。 当然,我的目的最终是制作一个独特的ip访问脚本。 如果你知道如何在没有数据库和sql的情况下做到这一点我将不胜感激,如果你认为它只能用sql完成那么请建议我最简单的方法。 我的代码到目前为止但它不起作用:

<?php
// Unique Hits PHP Script
// ----------- March 2004
// Contact author: uniquehits@sizzly.com

$log = 'hits.txt';

$IP = getenv (REMOTE_ADDR);
$add = true;
$hits = 0;

if (!file_exists ($log)) {
    echo "Error: $log does not exist.";
    exit;
}

$h = fopen ($log, 'r');



    if (in_array($IP, array($h))){


        header("Location: http://google.com");
    }
        else{
      $fp = fopen('hits.txt', 'a');
        fwrite($fp, "'" );
fwrite($fp, $IP );
fwrite($fp, "'" );
fwrite($fp, ',' );
fclose($fp);


        header("Location: http://yahoo.com");

        }





fclose($h);
?>

感谢并感谢你们。

2 个答案:

答案 0 :(得分:2)

你可以使用cookies。 它可能比使用IP地址更可靠,因为很多人都有动态IP。

http://php.net/manual/en/features.cookies.php

答案 1 :(得分:1)

谢谢你,你帮了很多,饼干效果非常好,非常感谢。 cookies + php:)

这里是其他人需要的代码:

&#13;
&#13;
<!DOCTYPE html>

<html>
<body>

<?php
$IP = getenv (REMOTE_ADDR);
$verifier = "verify";
$cookie_value = $IP;
if(!isset($_COOKIE[$verifier])) {
   setcookie($verifier, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
   header("Location: http://google.com");
} else {
   header("Location: http://yahoo.com");
}
?>

</body>
</html>










   
&#13;
&#13;
&#13;