0

我有一个页面,基本上允许管理员用户创建管理员用户类型(基本上是一个注册功能。所以当提交值时,它们被存储到数据库中,非常非常基本的东西。但是,我有一个隐藏的变量类型..原因是我有 3 个不同的用户级别,并且我已将它们声明为整数(例如 7 = 经理、8 = 用户等)

有人可以帮助我如何正确传递这个隐藏值,以便它存储在数据库中......

这是我的表格:

<form id="userreg" name="userreg" method="post" action="adduser-process.php"> 
<label>Full Name:</label> <input name="fullname" size="40" id="fullname" value="<?php if (isset($_POST['fullname'])); ?>"/>
    <br />
    <label>Username:</label> <input name="username" size="40" id="username" value="<?php if (isset($_POST['username'])); ?>"/>       <br />
    <label>Password:</label> <input name="password" size="40" id="password" value="<?php if (isset($_POST['password'])); ?>"/>        <br />
    <label>Email Address:</label> <input name="emailaddress" size="40" id="emailaddress" value="<?php if (isset($_POST['emailaddress'])); ?>"/> 
    <br />
    <input name="userlevel" type="hidden" size="1" id="userlevel" value="<?php $_POST[5]; ?>" /> <br />
    <input value="Add User" class="addbtn" type="submit" /> 
    </form></div>

接下来,这是运行查询的脚本:

    <?php 

require_once "config.php";


 $fullname = $_POST['fullname'];
 $username = $_POST['username'];
 $password = $_POST['password'];
 $emailaddress = $_POST['emailaddress'];
 $userlevel = $_POST[5];


 $sql = "INSERT INTO users_tb VALUES('".$user_id."','".$fullname."','".$username."',MD5('".$password."'),'".$emailaddress."','".$userlevel."')";
 $result = mysql_query($sql, $connection)
  or die("MySQL Error: ".mysql_error());

 header("Location: administratorfrontview.php");
 exit();
 ?>  

我基本上是在尝试仅为此表单传递具有常量值“5”的隐藏类型,因为它不会被更改......而且我在这里时,由于某种原因,“全名”没有存储在数据库要么!???有吗??所有其他字段都处理得很好。任何帮助深表感谢!谢谢你。

4

2 回答 2

3

两件事情。一,不$userlevel应该等于,因为 POST 数据并不总是按这个顺序排列。第二,您的插入语句应该以列名开头(以防止任何数据以错误的顺序排列)。$_POST['userlevel']5

$sql = "INSERT INFO users_tb (id, name, username, password, email, userlevel) ".
       "('".$user_id."','".$fullname."','".$username."',MD5('".$password."'),'".
       $emailaddress."','".$userlevel."')";
于 2010-03-12T19:56:59.250 回答
2

您用于输出值的 PHP 是错误的。利用:

<?= $_POST[5]; ?>

或者

<?php echo $_POST[5]; ?>
于 2010-03-12T19:53:45.577 回答