我在登录代码时出现了一些问题,当我尝试登录时第一次无法运行。我不知道我在做什么错,但它第一次将永远给我的错误,这里的代码(评论是在荷兰):我的登录代码第一次不工作?第二次呢?
<?php
if(isset($_POST['login'])){
$username = $_POST['username'];
$password = $_POST['password'];
//Maakt de variables korter, en beschermt ze tegen sql injectie d.m.v. real_escape
$gb = mysqli_real_escape_string($con, $_POST['username']);
$password = mysqli_real_escape_string($con, $_POST['password']);
//Deze maakt de wachtwoord en salt 1 Dat zorgt ervoor als je database
//ooit wordt gehackt, ze niet je klanten hun wachtwoord hebben.
$ww1 = $password.$salt;
//Deze encrypt het nieuwe wachtwoord, dus bijv stel het wachtwoord is lol123 en je salt is abc123
//dan is het wachtwoord lol123abc123
$ww = sha1($ww1);
//Vergeet niet de tablenaam medewerkers aan te passen naar jou shit.
//Dit is de query
$select_user = "SELECT * FROM users WHERE username='$gb' AND password='$ww'";
//Deze zin runned de query daadwerkelijk
$run_user = mysqli_query($con, $select_user);
//Deze kijkt hoeveel ROWS er terugzijn gekomen, als het meer dan 1 is klopt het dus.
$check_user = mysqli_num_rows($run_user);
if($check_user>0){
session_start();
$_SESSION['username'] = "$gb";
echo "<script>{location.href = 'home.php'; };</script>";
}else {
echo "<p> Gegevens kloppen <b>niet!</b></p>";
}
}
?>
这是登录页面代码^。
这是主页的代码中,将在登录后进入:
<?php
session_start();
$username = $_SESSION['username'];
if(strlen($username) < 1){
die('Error');
}
?>
我真的不知道什么是错
你正在做几件事情错误......使用'escape_string'而不是准备好的查询,使用'sha1'而不是'password_hash' /'password_verify'等等。 –
在发生任何事情或意图发生之前,您应该在第一个文件中启动会话。还要检查会话是否已设置。 –
但这是否会影响登录次数2次? – FluffyMe