需要PHP登录的帮助吗
我一直在尝试为我的项目创建一个登录名,但我不知道我做错了什么 这是我用来检查按钮是否按下的:需要PHP登录的帮助吗,php,Php,我一直在尝试为我的项目创建一个登录名,但我不知道我做错了什么 这是我用来检查按钮是否按下的: 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 usern
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
}
function setUserData($row){
$_SESSION['is_logged_in'] = true;
$_SESSION['user_id'] = $row['id'];
$_SESSION['username'] = $row['id'];
$_SESSION['name'] = $row['name'];
}
下面是我的setUserData函数:
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
}
function setUserData($row){
$_SESSION['is_logged_in'] = true;
$_SESSION['user_id'] = $row['id'];
$_SESSION['username'] = $row['id'];
$_SESSION['name'] = $row['name'];
}
我不知道是否需要为此启动会话,如果需要,我应该将代码放在哪里
另外,我如何在代码中初始化它来检查,比如说,如果$count有效,因为当我简单地键入echo$count时,它只会说未识别的变量:count出于教育目的,我将列出一个引用来重写代码: 用以下命令清理$\u帖子 将pass存储为md5哈希这是一个安全漏洞 看到和 更喜欢使用直接mysql本机函数
出于教育目的,我将列出重写代码的引用: 用以下命令清理$\u帖子 将pass存储为md5哈希这是一个安全漏洞 看到和 更喜欢使用直接mysql本机函数
我想你的问题应该是:
$query=("SELECT * FROM user
WHERE username = '$username'
AND password = '$password'");
我想你的问题应该是:
$query=("SELECT * FROM user
WHERE username = '$username'
AND password = '$password'");
我发现了我的错误,是表单造成了问题,我忘了输入method=POST和action=login.php
我真傻。谢谢大家的帮助。我发现了我的错误,是表单造成了问题,我忘了输入method=POST和action=login.php
我真傻。谢谢大家的帮助。您真的不应该使用MD5密码哈希,而应该使用PHP来处理密码安全问题。如果您使用的PHP版本低于5.5,您可以使用密码\u散列。您有语法错误。您应该看看PHP数据对象PDO@showdev user是关键字而不是保留字。它旁边没有R;-与使用R等不同,您真的不应该使用MD5密码哈希,而应该使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,您可以使用密码\u散列。您有语法错误。您应该看看PHP数据对象PDO@showdev user是关键字而不是保留字。它旁边没有R;-不像使用R等。哦,我是如何连续3个小时撞到我的头的。顺便说一句,谢谢你的链接哈哈…一直在那里欢迎你!这里有一个更高级的脚本,还有一个内置于小型MVC中的登录/注册脚本。谢谢这也帮助了我!哦,我是怎么连续三个小时撞到我的头的。顺便说一句,谢谢你的链接哈哈…一直在那里欢迎你!这里有一个更高级的脚本,还有一个内置于小型MVC中的登录/注册脚本。谢谢这也帮助了我!