Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在php中维护网站上的用户历史记录?_Javascript_Php_Jquery - Fatal编程技术网

Javascript 如何在php中维护网站上的用户历史记录?

Javascript 如何在php中维护网站上的用户历史记录?,javascript,php,jquery,Javascript,Php,Jquery,我有一个网站,我想向用户显示您最近的访问,这将发生在用户多次访问时,如果用户第一次访问网站,则不会显示任何内容,但如果再次访问,则在搜索框中显示之前,他搜索过的内容都会显示。为此,我在Cookie上做了一些工作,但效果不佳。我的代码如下: <?php $pageName = basename($_SERVER['SCRIPT_NAME']); $site_name = 'www.xyz.com'; setcookie('site_name'

我有一个网站,我想向用户显示您最近的访问,这将发生在用户多次访问时,如果用户第一次访问网站,则不会显示任何内容,但如果再次访问,则在搜索框中显示之前,他搜索过的内容都会显示。为此,我在Cookie上做了一些工作,但效果不佳。我的代码如下:

    <?php
       $pageName = basename($_SERVER['SCRIPT_NAME']);
       $site_name = 'www.xyz.com';
       setcookie('site_name',$site_name,time()+(60*60));
     ?>

      <body style="margin:0 auto; width:400px">
      <br /><h2>Cookie Example</h2>

     <?php
        // print_r($_COOKIE);
        echo "<strong>Cookie has been Created:</strong>&nbsp;&nbsp;&nbsp;".$site_name;
        echo "<br>";
        if(isset($_COOKIE['site_name']))
        {
        echo "<br>";
        echo "<strong>wellcome back</strong>";
        echo "<br>";echo "<br>";echo "<br>";
    }
    else
    {
        echo "<br>";
        echo "<strong>Wellcome</strong>";
    }

    ?>

       <a href="visit1.php">Visit 1</a>&nbsp;&nbsp;|&nbsp;&nbsp;
       <a href="visit2.php">Visit 2</a>&nbsp;&nbsp;|&nbsp;&nbsp;
       <a href="visit3.php">Visit 3</a>

是否有其他方法获取访问者的数据。

您需要处理IP地址,这将是您在数据库表中的唯一条目 将针对此IP地址的搜索存储在另一个数据库表中。 向他展示每次访问的结果 首先检查用户在数据库表中是否有条目,如果没有,则第一个条目将进入该表,并将对链接到此主表的第二个数据库表进行适当的搜索。 如果您正在处理cookie,那么在任何情况下删除cookie都可能没有帮助,您可能会丢失用户数据,并且每次都必须设置cookie,并且必须维护特定cookie的db条目。 而是将获取的值存储到cookie中。您无需在每次访问页面时获取表

历史记录中出现的页面应尽可能短。为每个页面分配一个唯一的ID

您应该制定一个方法,将一系列页面ID存储在一个简单的字符串中。您应该编写将页面数组转换为该字符串的例程,以及创建该字符串数组的例程

该字符串应存储在cookie中

您应该编写函数,创建一个空的历史记录数组是的,它很简单,在历史记录中添加一个项。它不是,您有句柄重复,还有前面提到的:将历史记录数组转换为字符串,来回

所以,如果这些例程都准备好了,您可以在每个页面上添加“将页面添加到历史记录”函数


即使是这样简单的东西也应该设计好,否则就会丢失。

不保存到数据库?是的,不保存到数据库使用IP地址是个坏主意。由于很多用户没有静态地址,他们会时不时地访问新地址,最终没有数据。更糟糕的是,其他用户可能会看到您以前的访问。没有cookie解决方案会更好,即使如果用户清除他/她的cookie,数据可能会丢失。但是我想用cookies来做。谢谢Karl的纠正。我不是那样想的。。您可以为每个用户设置一个唯一的cookie。使用该cookie名称在中创建文件夹,为每次访问维护xml格式的数据。由于您不想使用数据库并为每次访问维护cookie,因此每次用户访问您的站点时,这将增加。也许这会有帮助