我正在为PHP创建一个简单的登录脚本,但我没有收到错误或其他任何内容,但此查询因某些原因无效。这从来没有发生在我身上,我现在感到沮丧。
这是在php_classes文件中:
<?php
//Database Connection
$database_host = "localhost";
$database_user = "root";
$database_pass = "**PASSWORD**";
$database_name = "XoticSite";
$database_connection = mysqli_connect($database_host, $database_user, $database_pass, $database_name);
if($database_connection){
echo("Connection Works!!! <br />");
}
//userclass
class User
{
public function __construct()
{
#global vars
$username = null;
$password = null;
$fname = null;
$lname = null;
$email = null;
$privilege = null;
$profilePath = null;
$trys = 0;
#*******#
}
public function checkLogin($db){
$userQuery = mysqli_query($db, "SELECT * FROM `Users` WHERE
`username`='$username' && `password`='$password' LIMIT 1") or die("MYSQL ERROR");
if(mysqli_num_rows($userQuerry) == 1){
$userArray = mysqli_fetch_array($userQuery);
$fname = $userArray['fname'];
$lname = $userArray['lname'];
$email = $userArray['email'];
$ip = $userArray['ip'];
$privilege = $userArray['privilege'];
$profile = $userArray['profile'];
return true;
}
else{
return false;
}
}
public function setData($u, $p){
$username = $u;
$password = $p;
echo $username . $password;
}
public function getData($x){
if($x == 1){
return $username;
}
if($x == 2){
return $password;
}
if($x == 3){
return $trys;
} else{
return false;
}
}
}
//Client
if(!isset($_SESSION['ClientUser'])){
session_start();
echo "Created User";
$_SESSION['ClientUser'] = new User;
}
?>
这是test.php类:
<?php
include_once 'php_includes/php_classes.php';
$_SESSION['ClientUser']->setData("username", "12345");
if($_SESSION['ClientUser']->checkLogin($database_connection)){
echo "Login Success";
} else{
echo "Login Fail";
echo $_SESSION['ClientUser']->username;
}
?>
<html lang='en'>
<head>
<title>Test</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript">
</script>
</head>
<body>
<div id="mainWrapper">
<?php
include_once("php_templates/header.php");
?>
<div id="body">
</div>
<?php
include_once("php_templates/footer.php");
?>
</div>
</body>
</html>
每当我运行测试时,我总是会遇到登录失败,因为我在数据库中拥有该用户名和密码,所以不会发生这种情况:
Picture of the Table in the Database
我在LAMP上运行它,特别是Ubuntu 15.10
答案 0 :(得分:0)
这一行错字:if(mysqli_num_rows($userQuerry) == 1){
?应为$userQuery