我正在尝试修改ID登录系统以便为管理员和用户工作,但是dosnt工作,有什么建议吗?为什么我的访问级别MySQL查询不起作用请帮忙。还有一个与db和函数调用的连接,但是这些与它无关我需要使用这个单一的表单。
<?php
require_once('lib/connections/db.php');
include('lib/functions/functions.php');
If acces_level = 2 {
$returnURL = "users/index.php";
} else {
If access_level = 1 {
$returnURL = "secdirpostdata//aderr/auth/admin/index.php";
//For login
// we check if everything is filled in and perform checks
if(!$_POST['username'] || !$_POST['password'])
{
die(msg(0,"Username and / or password fields empty!"));
}
else
{
$res = login($_POST['username'],$_POST['password']);
if ($res == 1){
die(msg(0,"Incorrect Username or Password"));
}
if ($res == 2){
die(msg(0,"Your account has been suspended, contact us to remove the suspension"));
}
if ($res == 3){
die(msg(0,"Your account has not been activated. Please check your email's inbox or spam folder for a link to activate your account. If you are having problems activating your account then contact us to resolve the issue."));
}
if ($res == 4){
die(msg(0,"Your account has been disconnected and is banned from using server, Contact Us to resolve this issue."));
}
if ($res == 99){
echo(msg(1,$returnURL));
}
}
function msg($status,$txt)
{
return '{"status":'.$status.',"txt":"'.$txt.'"}';
}
?>
答案 0 :(得分:0)
您正在使用等号=
If access_level = 1 {
If acces_level = 2 {
而不是检查它是否等于==
将它们替换为:
If access_level == 1
If acces_level == 2 {
检查它是否等于。
考虑到杰克为他的答案提出的建议,使用以下内容也会更有意义。
(感谢Jake Gould)
If $access_level == 1 {
If $acces_level == 2 {
N.B。您acces_level
有一个(可能)缺少s
,因为您在access_level = 1
中拼写正确,请仔细检查所有内容。在您发布的代码中没有其他对access_level
或acces_level
或任何其他变量的引用。
答案 1 :(得分:0)
if
和else if
的语法错误。此外,=
检查是一项任务,应该是==
。当您有acces_level == 2
和acces_level == 1
时,这些应该是变量,因此它应该是$acces_level == 2
和$acces_level == 1
。最后,您需要围绕条件使用括号。以下示例。
你有这个:
If acces_level = 2 {
$returnURL = "users/index.php";
} else {
If access_level = 1 {
$returnURL = "secdirpostdata//aderr/auth/admin/index.php";
应该是这样的:
if ($access_level == 2) {
$returnURL = "users/index.php";
}
elseif ($access_level == 1) {
$returnURL = "secdirpostdata//aderr/auth/admin/index.php";
此外,尚不清楚该变量是acces_level
还是access_level
还是s
。通常,您需要提供更多详细信息。但至少可以说你的格式化了。
答案 2 :(得分:-1)
同时保持格式正确
if (acces_level == 2) {
不
If acces_level = 2 {
更好的格式化并不意味着你实际上需要()