(PHP)未定义变量的长列表。

时间:2018-04-22 16:21:00

标签: php

我知道这将被标记为重复,但我已经完成了关于未定义变量的大多数其他问题,但不幸的是我没有任何喜悦。我是PHP的新手,也是一般的网页设计。

我的PHP代码:

Notice: Undefined variable: userID in /var/www/vhosts/rdonaghy08.web.eeecs.qub.ac.uk/httpdocs/cater/updatedProfile.php on line 28

Notice: Undefined variable: emailAddress in /var/www/vhosts/rdonaghy08.web.eeecs.qub.ac.uk/httpdocs/cater/updatedProfile.php on line 28

Notice: Undefined variable: firstName in /var/www/vhosts/rdonaghy08.web.eeecs.qub.ac.uk/httpdocs/cater/updatedProfile.php on line 28

Notice: Undefined variable: lastName in /var/www/vhosts/rdonaghy08.web.eeecs.qub.ac.uk/httpdocs/cater/updatedProfile.php on line 28

Notice: Undefined variable: accesslevel in /var/www/vhosts/rdonaghy08.web.eeecs.qub.ac.uk/httpdocs/cater/updatedProfile.php on line 28

Notice: Undefined variable: password in /var/www/vhosts/rdonaghy08.web.eeecs.qub.ac.uk/httpdocs/cater/updatedProfile.php on line 28

我一直收到这条消息:

{{1}}

我的确切问题是,为什么它们是未定义的,因为我似乎在我的IF语句中用$ _isset($ _ POST)声明定义它们?我没有定义它们吗?

提前感谢您提供的任何帮助或说明!

1 个答案:

答案 0 :(得分:3)

您检查变量是否设置为yes,但如果未设置,则不对其执行任何操作 然后在$ update的行中你仍然使用可能未设置的变量。

你可以这样做:

if (isset($_POST['password'])) {
    $password = $_POST['password'];
}else{
    $error = true;
}

每条线都是一样的。
然后在继续使用其余代码之前检查错误是否为真。

if(!$error){
    $update = "UPDATE users SET userID='$userID', 
emailAddress='$emailAddress',firstName='$firstName', lastName='$lastName'accessLevel ='$accesslevel',password='$password' WHERE userID = '$getid'";

     $return = mysqli_query($conn, $update) or die(mysqli_errno($conn));
}

这样,只有在没有错误时才输入上面的两行。