【发布时间】:2020-06-24 02:44:39
【问题描述】:
我有一个带有保存按钮的表单,如下所示:
<form method="post" id="myform" style="text-align: left;">
<div style="text-align:center;">
<button onclick="saveButton()" type="submit">Save</button>
</div>
</form>
在该表单中,我想要实现的是当用户按下保存按钮时,它应该检查数据库中的表。
我要检查的表是list_users。 list_users 有 5 列:
(1) user_name
(2) open
(3) read_access
(4) write_access
(5) LastActivity
当任何用户登录(let's user UserA) 时:
read_access => 1
write_access => 1
当另一个用户(let's say UserB)同时登录时
UserA
read_access => 1
write_access => 0
UserB
read_access => 1
write_access => 1
我想要实现的是当write_access => 0 那么用户不应该被允许在按下保存按钮时保存表单含义
它应该检查list_users 表中的write_access 列。如果write_access 列中的值为 0,则不应允许用户
保存表单。
这是我尝试过的:
function saveButton(e) {
<?php
$stmt = $connect->prepare("SELECT write_access FROM list_users WHERE user_name=?");
$stmt->bind_param('s', $_SESSION['user_name']);
$stmt->execute();
$result2 = $stmt->get_result();
$write_access = $result2->fetch_object();
if($write_access->write_access != 1) { ?>
alert('You cannot save the form');
e.preventDefault();
<?php } ?>
}
我收到了警报消息,但表单仍在保存中。我想知道我应该对代码进行哪些更改,以便with the alert message the form should also not get saved。
【问题讨论】:
-
保存(插入/更新)查询在哪里?另外,您的意思是保持警惕,表格不应保存在问题的最后一行?
-
是的,请注意,表单不应保存在我的问题的最后一行。
-
警报后尝试
return false。 -
我在收到警报后尝试了
return false,但表单仍在保存中。 -
你的存档查询在哪里?
标签: javascript php forms