我正在创建一个网站,一旦他们的电子邮件根据用户主列表进行验证,受邀用户将被定向到注册表;(2)一旦根据主用户列表进行验证,返回用户将被定向到另一个页面。最初,用户的主列表将仅包含受邀用户的电子邮件地址。注册后,用户将输入其余信息,包括名字(fname)。
我需要对这段代码做的是检查名字是否为NULL,如果直接用户是" registration.html&#34 ;;而如果该用户有一个名字,那么应该将用户定向到" overview.html"。
我的代码显然无法正常工作,因为无论fname为NULL还是XYZ用户都被定向到" overview.html"。
$query = "SELECT email, fname FROM registration WHERE email='$email'";
if (fname = "NULL") {
header('location: registration.html');
} else {
header('location: overview.html');
}
感谢您的帮助!
答案 0 :(得分:1)
我假设你没有在这里粘贴整个代码。你是怎么拿这排的?
我可以指出一件事,在PHP =是赋值。你想使用==这是比较运算符。
此外,取消引用“NULL”,因为您当前正在将其与字符串“null”进行比较。
希望能解决它。
编辑:看到你的其他评论,这里是代码的样子,假设你把电子邮件存储在一个名为$ email的变量和一个存储在$ dbc中的PDO连接中。$q = "SELECT email, fname FROM registration WHERE email = ?";
$stmt = $dbc->prepare($q);
$stmt->execute(array($email));
if($stmt->rowCount() == 1){ //you probably have unique email accounts
$row = $stmt->fetch();
if (is_null($row['fname'])) {
header('location: registration.html');
} else {
header('location: overview.html');
}
}