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

我有一个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

我想知道是否可以先将重定向发送到客户端,这样它就可以继续进行工作,然后记录点击次数.是否会简单地围绕工作进行切换?

解决方法:

你可以这样做:

>从$_GET获取网址
>发送位置:标题
>拨打flush()
>连接到数据库
>为网址创建行,如果存在则按1命中进行更新

这不一定会导致浏览器立即运行,因为您的连接仍处于打开状态,并且浏览器对此进行了处理,但是(除非导致flush()无法正常工作的条件),它将在至少将Location:标头提供给浏览器,以便它可以根据需要进行重定向.

如果那还不够好,我建议将您的数据转储到每分钟或每秒的文件中,然后脚本将其提取出来进行后处理到数据库中.如果那还不够好,您可以玩pcntl_fork();否则,您可以玩.在Apache SAPI下,这是一件非常麻烦的事情.

上一篇:javascript-延迟运行跟踪代码是否很好?


下一篇:如何在Android上通过GPS跟踪距离?