检查会话是否为空,取消设置,然后发送$_POST数据

Checking if a sessions is empty, unsetting it, and then sending $_POST data onclick

本文关键字:数据 POST 然后 设置 是否 会话 取消 检查      更新时间:2023-09-26

每当我单击一个按钮时,我有两组可能的信息要导出到另一个PHP页面。其中一个是会话。就像这样:

$_SESSION['excel_name']['Main_'] = "Main_".date("y_m_d_Hi");
$_SESSION['excel_array']['Main_']['Plan1'] = array();

post数据发送相同的信息,但不将其保存在会话中,以防止过多会话之间的冲突。所以我想尝试的是,检查是否有一个会话集。如果有,我将取消设置,并发送$_POST数据。如果没有,我会设置一个。我试过这样做:

session_start();
if(isset($_SESSION) && !empty($_SESSION)) {
    unset($_SESSION['Main_']);
    unset($_SESSION['Plan1']);
    unset($_SESSION['excel_array']);
    $_POST['excel_name']['Main_'] = "Main_".date("y_m_d_Hi");
    $_POST['excel_array']['Main_']['Plan1'] = array();
} else {
    $_SESSION['excel_name']['Main_'] = "Main_".date("y_m_d_Hi");
    $_SESSION['excel_array']['Main_']['Plan1'] = array();
}

这个逻辑可能对你们中的一些人来说有点奇怪,但我几乎可以肯定它会起作用…但是。我想用一个按钮来完成。原因是,每当我单击该按钮时,我都会将信息导出到下一个PHP页面。我想在发送信息之前检查这些条件,而不是在加载页面的那一刻。

有可能吗?

有几种方法可以做到这一点,但在阅读我的答案之前,请注意javascript验证可以被编辑和恶意利用。

您可以对php页面执行AJAX请求,该页面将实现您的逻辑并返回代码200或401。然后,您可以在加载下一页之前执行操作。