1

我有一个创建用户表单,它允许创建新用户并将其作为我网站的有效用户添加到数据库中。

作为此表单的一部分,您可以选择访问级别,即管理员、经理、用户。出于某种原因,无论我在这里放什么,新用户总是被添加为级别 3 - 这是用户。我已经阅读并重新阅读了代码,但我一生都看不到它为什么要这样做!

这是处理新用户请求的php代码......

$accesslv1=$_POST['accesslv'];   //reading the POST variable from the create userpage

//determine what access level this user has
if(accesslv1=="admin") {
    
    $accesslv=1;  //this would be an admim user

} elseif(accesslv1=="manager") {

    $accesslv=2;  //this would be a manager

} else {

    $accesslv=3;  //this would be a user
}

为了调试,我在最后弹出了这个而不是重定向......

echo "Username: " .$username . "<br> AccessLevel: " .$accesslv1 ." (lv" .$accesslv .")";

我得到的只是这个……

用户名:test1

访问级别:经理(lv3)

这应该读为经理(lv2),但无论出于何种原因,它都没有这样做!

提前感谢您的帮助!

4

3 回答 3

2

您在代码中(在 if 语句中)缺少变量的美元符号。修订见下文:

if($accesslv1=="admin")
{
    $accesslv=1;  //this would be an admim user
}
elseif($accesslv1=="manager")
{
    $accesslv=2;  //this would be a manager
}
于 2013-04-29T22:14:13.520 回答
1

您在 if/elseif 行中缺少几个美元符号

if(accesslv1=="admin"){
于 2013-04-29T22:14:20.347 回答
0

审查如下:

$accesslv1=$_POST['accesslv'];if(accesslv1=="admin")

于 2013-04-29T22:16:28.280 回答