我一直试图为我的项目创建一个登录信息,但我不知道自己做错了什么。
这是我用来检查按钮是否被按下的内容:
if(isset($_POST['login'])){
//Get Vars
$username = $_POST['username'];
$password = md5($_POST['password']);
if(login($username, $password)){
echo 'You have been logged in';
} else {
echo 'Wrong username and password';
}
}
这是我的登录功能:
function login($username, $password){
$db = new Database();
$query=("SELECT * FROM user
WHERE username = $username
AND password = $password");
//Bind Values
$row = $db->select($query);
-----------------------------------------
$count = mysqli_num_rows($row);
//Check Rows
if($count == 1){
setUserData($row);
return true;
} else {
return false;
}
-------------------------------------
I BELIEVE THIS IS THE PART OF THE ERROR
}
这是我的setUserData函数:
function setUserData($row){
$_SESSION['is_logged_in'] = true;
$_SESSION['user_id'] = $row['id'];
$_SESSION['username'] = $row['id'];
$_SESSION['name'] = $row['name'];
}
我不知道是否需要为此开始会话,如果需要,我在哪里放置代码。
另外我如何在代码中初始化它来检查,比方说,如果$ count有效,因为当我只输入echo $count
时,它只是说Unidentified variable : count
答案 0 :(得分:3)
出于教育目的,我将列出一个重新引用以重写您的代码:
答案 1 :(得分:2)
我发现了我的错误,它是造成问题的形式,我忘了放入public class Shelf {
private Book[] v;
public Shelf()
{
v = new Book[3];
}
public void append (Book x) throws myException
{
if(x != null && v != null)
{
Book[] vAppend = new Book[v.length+1];
for(int i=0; i<v.length; i++)
{
vAppend[i] = new Book(v[i]);
}
vAppend[v.length] = new Book(x);
v = vAppend;
}
throw new myException("Null");
}
和method="POST"
。
答案 2 :(得分:0)
我猜你的查询应该是:
$query=("SELECT * FROM user
WHERE username = '$username'
AND password = '$password'");