我有一个HTML表单,其中填写并提交数据。现在我想限制用户点击提交,即我只想要提交的用户组,如果有任何其他人点击提交,则应显示消息“您无权提交”。
示例表格是:
public class TableName
{
public Students students { get; set; }
}
[XmlRoot(ElementName = "students")]
public class Students
{
[XmlElement(ElementName = "row")]
public List<Row> Rows { get; set; }
}
public class Row
{
public string StudentId { get; set; }
public string StudentName { get; set; }
public string Password { get; set; }
}
var ser = new XmlSerializer(typeof(TableName));
var def = new XmlSerializerNamespaces();
def.Add("", "");
var obj = ser.Deserialize("xmlPath");
在这里,我将获得用户名:
<html>
<?php echo ( !empty($_SESSION ['user']) ) ? $_SESSION ['user'] : 'USER'; ?>
<body>
<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="firstname">
<br>
Last name:<br>
<input type="text" name="lastname" value="lastname">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
这个“用户”正在从登录页面收集。如果用他们的凭据登录,他们的用户名将通过页面传递,以便进行会话。
这里的“用户”我只希望特定用户能够提交。
提前致谢。
答案 0 :(得分:2)
试试这个:
编辑:
由于OP希望仅向经理人显示按钮,我们将编写一个查询来获取这些用户。
$sel='Select `usergroup` from table_name where user_id='.$_SESSION['user'];
$res=mysqli_query($con,$sel);
$row=mysqli_fetch_assoc($res);
?>
<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="firstname">
<br>
Last name:<br>
<input type="text" name="lastname" value="lastname">
<br><br>
<?php
// did changes here
if($row['usergroup']=='manager') // those users who are manager
{
?>
<input type="submit" name="submit" value="Submit">
<?php
} ?>
</form>
</body>
</html>
答案 1 :(得分:1)
您需要一个用户特定权限存储的数据库表。从会话中获取登录用户后,如果用户具有此权限,则编写选择查询,然后显示表单,否则隐藏表单并显示消息
答案 2 :(得分:1)
...并删除不允许提交的用户的表单节点,因为您可以按Enter键触发提交。
基本上将整个事情分成两个模板: