如果用户离开网页,是否可以执行php脚本?
我知道Javascript可以执行..
$(window).bind('beforeunload', function(){
return 'DataTest';
});
Cookie可能有效,但我不确定听众如何跟踪过期的Cookie,然后删除正确的网页。
示例文件系统是这样的:
通常,要创建网站,php会写入data.txt,Python侦听器会接收此更改,并创建文件(用户[numbers])。您可能认为,这些文件会超时累积,需要删除。
答案 0 :(得分:2)
http协议是无状态的,因此用户根本无法“导航”。 浏览器需要一个页面,服务器返回它,通信停止。 服务器没有可靠的方法来了解客户端将对该页面执行的操作。
答案 1 :(得分:0)
免责声明:我不确定,正如福克斯所指出的那样,这是你的正确方法。我实际上赞成了福克斯的回答。
但是,如果您绝对需要在用户离开后立即删除每个页面,请使用:
$(window).bind('beforeunload', function() {
$.ajax('yourscript.php?currentUser=0814HIFA9032RHBFAP3RU');
});
然后在yourscript.php中,输入如下内容:
<?php
// load your userId (for example, with $_SESSION, but do what you want here)
$actualUser = $_SESSION['userId'];
// checks if the requested id to delete fits your actual current user's id
if (isset($_GET['currentUser'] && $_GET['currentUser'] == $actualUser)
{
$user = $_GET['currentUser'];
$file = 'user'.$user.'.php';
unlink($file);
}