我有这个用于登录的PHP代码的问题。当我登录为“雇主”时一切正常。但是当我以员工身份登录时,它应该加载一个不同的页面。它总是像我登录的那样“雇主。我无法弄清楚错误。
<?php
session_start();
require_once('connection.php');
//Connect to server
$link = mysql_connect($host, $user, $pw) or die(mysql_error());
//Select the database
mysql_select_db ($db);
// Get the login credentials from user
$username = $_POST['Username'];
$userpassword = $_POST['Password'];
// Secure the credentials
$username = mysql_real_escape_string($_POST['Username']);
$userpassword = mysql_real_escape_string($_POST['Password']);
// Check the users input against the DB.
$query = "SELECT COUNT(`Username`) AS `total` FROM `users` WHERE `Username` = '$username' AND `Password` = '$userpassword'";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
if($row['total'] == 1)
{
if($Username='Employer')
{
$_SESSION['loggedIn'] = "true";
header("Location: indexemp.php");
}
}
elseif($Username='Employee')
{
header("Location: indexempl.php");
}
?>
答案 0 :(得分:3)
你有两次同样的错误。您正在使用赋值运算符=
而不是比较运算符==
:
if($row['total'] == 1)
{
if($Username=='Employer')
{
$_SESSION['loggedIn'] = "true";
header("Location: indexemp.php");
}
}
elseif($Username=='Employee')
{
header("Location: indexempl.php");
}
?>
答案 1 :(得分:2)
您正在使用=
作业运算符而不是比较运算符==
因此,您应该在两种情况下使用==
。
那你的条件应该是
if($Username=='Employer')
和elseif($Username=='Employee')
如果您仍然面临错误,那么您可以通过打印$Username
的值轻松找出错误。