php - 重定向用户,然后使用 php 和 mysql 记录他的访问

标签 php mysql redirect statistics tracking

我有一个 PHP 重定向页面来跟踪对链接的点击。基本上是这样的:

 - get url from $_GET
 - connect to database
 - create row for url, or update with 1 hit if it exists
 - redirect browser to url using Location: header

我想知道是否可以先将重定向发送到客户端,以便它继续工作,然后记录点击。会简单地改变工作吗?

最佳答案

你可以这样做:

  1. $_GET 获取 url>
  2. 发送Location: header
  3. 调用flush()
  4. 连接到数据库
  5. 为 url 创建行,如果存在则用 1 次命中更新

这不一定会导致浏览器立即继续运行,因为您的连接仍保持打开状态,浏览器对此的处理取决于它,但是(除非出现导致 flush()< 的情况 不起作用)它至少会将 Location: header 发送到浏览器,以便它可以根据需要进行重定向。

如果这还不够好,我建议将您的数据转储到每分钟或每秒的文件中,然后脚本会提取这些文件以将其后处理到数据库中。如果不够好,你可以玩pcntl_fork() ;这是在 Apache SAPI 下做的一件非常毛茸茸的事情。

关于php - 重定向用户,然后使用 php 和 mysql 记录他的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/706884/

相关文章:

cakephp 1.1 与 php 5.3

javascript - 如何使用按钮同时单击 anchor 链接上的事件来提交表单?

Amazon RDS 中的 MySQL 表锁定问题

mysql - 没有 JOIN 的 SQL 查询

django - 将变量(标志)从 urls.py 传递到 django 中的 views.py

asp.net - Session_Start 中的 Response.Redirect 不起作用

javascript - 如何让 Laravel 5.3 应用程序在 SASS/JS 更改时自动重新加载

javascript - 如何从无限循环的 Javascript 函数向 MySQL 传递值?

mysql - 查找 Mysql 存储过程中的错误。无法理解错误

c# aspx 模态窗口 : how to redirect using javascript to same window (self)