gpt4 book ai didi

php - 登录页面不显示错误并且不登录 php

转载 作者:行者123 更新时间:2023-11-29 21:08:34 24 4
gpt4 key购买 nike

此验证页面不会显示错误,也不会重定向到主页。我检查它是否从数据库进行了验证,并且工作正常,但没有重定向页面,所以我认为问题出在“$user = $req->fetch()”帮助上

if(isset($_POST['login'])){

$username = $_POST['username'];
$password = $_POST['password'];
$pc = md5($password);

$req = $pdo->prepare('SELECT * FROM users WHERE nom= :username AND pass= :password');
$req->execute(array(
'username' => $username,
'password' => $pc,
));

if ($user = $req->fetch()) {
$_SESSION['auth'] = $user;
header("location:home.php");
exit();

}

else{
echo"<script> alert('LE NOM D UTILISATEUR OU LE MOTS DE PASSE INCORRECTE')</script>";
}

最佳答案

我同意@tadman的观点,你应该考虑使用一个框架,而不是稍后实现你自己的访问控制。单独使用 md5 并不是散列密码的好方法。请至少尝试添加盐。无论如何,这应该对你有用。只需替换数据库连接的 db、user 和 pass 即可。同样,我不会将这些直接放在 View 上。

if(isset($_POST['login'])){

$host = '127.0.0.1';
$db = 'tester';
$user = 'root';
$pass = 'root';
$charset = 'utf8';

$username = $_POST['username'];
$password = $_POST['password'];
$pc = md5($password);

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";

$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];

$pdo = new PDO($dsn, $user, $pass, $opt);


$stmt = $pdo->prepare('SELECT * FROM users WHERE nom= :username AND pass= :password');

$stmt->execute(['username' => $username,'password'=>$pc]);

if($user = $stmt->fetch()){
$_SESSION['auth'] = $user;
header("location:home.php");
exit();

}else{
echo"<script> alert('LE NOM D UTILISATEUR OU LE MOTS DE PASSE INCORRECTE')</script>";
}
}

关于php - 登录页面不显示错误并且不登录 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com