离开文件夹或某些网址时结束会话

sdoedos

无论如何,当我在网站上留下文件夹(例如 /maps/)时,是否可以取消设置或结束会话,或者当我不确定网址时是否只是结束它?

目前我正在使用:

<script>
$(window).on('unload', function() {

    var fd = new FormData();
    fd.append('ajax_data', 22);

    navigator.sendBeacon('resources/ajax/unload.php', fd);
});

</script>

调用此代码

<?php require_once("../config.php");
 ignore_user_abort(true);
 date_default_timezone_set("Asia/Tokyo");
 $time = date("H:i:s");
 $date = date("Y/m/d");
 $query = "uknown";
 $session_id = session_id();
 $session_prev = $_SESSION['prev'];
 $ip = $_SESSION['ip'];

 $sql = query("INSERT INTO navigated (navigated_from, navigated_to, 
 navigated_date, navigated_time, session_id, session_ip) VALUES ( 
 '$session_prev', '$query',  '$date', '$time', '$session_id', '$ip' 
  )");


 if (!isset($_SESSION['ended'])) {
 date_default_timezone_set("Asia/Tokyo");
 $_SESSION['ended'] = date("H:i:s");

 }

 $session_end = $_SESSION['ended'];
 $session_start = $_SESSION['started'];
 $session_date = $_SESSION['date'];
 $session_clicks = $_SESSION['clicks'];
 $sql2 = query("INSERT INTO session_time (session_id, 
 session_start, session_end, session_date, session_clicks, 
 session_navigated, session_ip) VALUES ('$session_id', '$session_start', '$session_end', '$session_date', '$session_clicks',  '$query', '$ip')");

unset($_SESSION['ended']);
unset($_SESSION['date']);
unset($_SESSION['started']);
unset($_SESSION['clicks']);
session_regenerate_id();


?>

我离开页面或推送输入后立即结束会话。

阿卡什熊猫

可能,根据您的要求,我认为您可以编写一个 unset_maps_session() 函数,该函数具有取消设置 /maps/ 文件夹会话的所有要求。

编写一个通用函数,例如,common_tasks(),它将从您项目中的每个文件中调用。common_tasks() 函数的职责是识别要在该 url 上完成的任务。因此,您可以对 url 进行正则表达式检查,以找出您需要执行的任务。

function common_tasks() {
    // Carry out regular expression checks on the $_SERVER['URI'] parameter
    //Suppose maps_maps_url_not_found is a boolean variable that is true if the current URL
    //is not a maps URL. 

    if(matched_maps_url_not_found) {
        unset_maps_session();
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用arraylist读取.txt文件时如何忽略主文件夹中的某些文件

无法列出某些文件夹

从Windows文件夹获取PuTTY会话

运行ng build时如何排除src根文件夹中的某些文件夹

无服务器打包时,如何包括文件夹但排除该文件夹中的某些文件?

设备锁定/屏幕关闭时,无法访问“文档”子文件夹中的某些文件

在执行结束时将报告文件放在自定义文件夹中

使用awk时,某些文件夹名称丢失

访问某些文件夹时提示输入用户名和密码

访问某些文件夹时Nautilus崩溃

创建和删除文件夹时,MVC会话丢失

在C#中使用FileWatcher时如何排除某些文件夹?

扫描文件夹内容时排除某些文件夹

重写网址,忽略某些文件夹

ClawsMail中缺少某些文件夹

如何为文件夹重写网址?

Google Analytics Regex排除子文件夹中的某些网址

想要在删除某些文件和文件夹时处理错误

当Makefile存在时,循环遍历所有文件夹并结束执行make命令

某些文件夹的“正在处理” .issue

在文件夹中压缩某些文件的大列表时,参数列表过长

在访问某些文件夹时询问客户端证书IIS7.5

复制文件夹时压缩文件夹

禁止某些图片文件夹

删除文件夹和子文件夹中的某些文件类型和空文件夹

如何从url下载某些文件夹

扫描文件夹内容时排除某些子文件夹

复制(远程)某些文件夹

在文件夹中查找文件/文件夹,但某些特定文件夹除外