点击js提示框中的OkCancel按钮后,在php中更新db表。

问题描述 投票:0回答:1

我有一个php代码(所有代码都在同一个文件中)。mno.php)中,一次只允许一个用户登录。当另一个用户同时登录时,会出现一个 警报信息显示.

第一个用户登录,它进入内部 else 阻止 (在B线) .

第二用户登录 当下,它进入if块内部 if (mysqli_num_rows($result1) > 0) 而警报信息将显示 (在A线) 用户A目前正在登录。您想接手吗? (有Ok和Cancel按钮).

enter image description here

mno.php

/* php function for alert message */
function phpAlert($msg)
{
    echo '<script type="text/javascript">confirm("' . $msg . '")</script>';
}


if (mysqli_num_rows($result1) > 0) {
    while ($row = mysqli_fetch_array($result1)) {
        if ($row['open'] == "true") {
            if (!isset($_SESSION['pageadmin'])) {
                 $message = "user " . $row['user_name'] . " is logged in. Do you want to take over ?";   
                 phpAlert($message); //Line A
            }
            break;
        }
    }
} else {
    $_SESSION['pageadmin'] = true;  // Line B
}

在点击 从警报框中选择 "OKCancel "按钮我想运行以下查询。

OK按钮: enter image description here

$stmt1=$connect->prepare("UPDATE trace_users SET write_access='0' WHERE write_access='1'"); // revoke write access of all users
$stmt1->execute();

取消按钮。

enter image description here

session_destroy();   // destroy session data in storage
!isset($_SESSION['pageadmin']);
header('location: /abc/mno.php');

这是我试过的,但我认为还需要做更多的工作,因为下面的if和else块在点击时没有被调用。好的取消 按钮

if ( $_GET[confirm] == "yes" ) {
    $stmt1=$connect->prepare("UPDATE trace_users SET write_access='0' WHERE write_access='1'"); // revoke write access of all users
    $stmt1->execute();
} else if ( $_GET[confirm] == "no" ) {
    session_destroy();   // destroy session data in storage
    !isset($_SESSION['pageadmin']);
    header('location: /abc/mno.php');
}
javascript php alert
1个回答
3
投票

你应该创建两个单独的php文件,包含你在if和else块中相应的内容,然后使用ajax来调用这些文件。所以基本上你从你的js脚本开始,然后更新它来调用一个函数而不是直接调用confirm。

echo '<script type="text/javascript">myConfirmFunction("' . $msg . '")</script>';

然后实现 myConfirmFunction 在...中 <script> 集团这样的。

<script type="text/javascript">
    function myConfirmFunction(message) {
        if(confirm(message)) {
            $.ajax({
                url: "update_trace_users.php",
                type: "GET",
                data: {},
                success: function(result) {
                      // Do something with result
                }
            });
        } else {
            $.ajax({
                url: "session_destroy.php",
                type: "GET",
                data: {}, // you can pass data to your php script
                success: function(result) {
                      // Do something with result
                }
            });
        }
    }
</script>

希望这对你有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.