gpt4 book ai didi

php - 我的登录脚本包含用户名、密码和 PIN 码,但无法使用 PIN 码登录(不知何故)

转载 作者:行者123 更新时间:2023-11-29 17:26:04 27 4
gpt4 key购买 nike

我遇到一个小问题...我有自己的网站,带有一个简单的 mysqli 登录脚本,每当我输入用户名、密码和 PIN 码时,它都会让我登录...

我现在的问题是,我可以仅使用用户名和密码登录我的网站(无需输入 PIN 码...),但每当我输入 PIN 码时,它都必须是正确的 PIN...

我该如何解决这个问题?

我的代码:

<?php  
$connect = mysqli_connect("localhost", "root", "", "testing");
session_start();
if(isset($_SESSION["username"]))
{
header("location:entry.php");
}

if(isset($_POST["login"]))
{
if(empty($_POST["username"]) && empty($_POST["pin"]))
{
echo '<script>alert("Alle felter SKAL udfyldes!")</script>';
}
else
{
$username = mysqli_real_escape_string($connect, $_POST["username"]);
$password = mysqli_real_escape_string($connect, $_POST["password"]);
$pin = mysqli_real_escape_string($connect, $_POST["pin"]);
$password = sha1($password);
$pin = sha1($pin);
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password' AND pin = '$pin'";
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
$_SESSION['username'] = $username;
header("location:entry.php");
}
else
{
echo '<script>alert("Forkert brugernavn, adgangskode eller pin-kode")</script>';
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<script>
var loc = window.location.href+'';
if (loc.indexOf('http://')==0){
window.location.href = loc.replace('http://','https://');
}
</script>
<title>
MJVS - Private area.
</title>
<link rel="shortcut icon" href="/title_logo.png" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

</head>
<body>
<br /><br />
<div class="container" style="width:500px;">
<h3 align="center"></h3>
<br />
<h3 align="center"><b>Login</b></h3>
<br />
<form method="post">
<label>Enter Username</label>
<input type="text" name="username" class="form-control" />
<br />
<label>Enter Password</label>
<input type="password" name="password" class="form-control" />
<br />
<label>Enter PIN</label>
<input type="password" name="pin" class="form-control" maxlength="4" />
<br />
<input type="submit" name="login" value="Login" class="btn btn-info" />
<br />
</form>
<?php

?>
</div>
</body>
</html>

最佳答案

使用以下代码:-

 <?php  
$connect = mysqli_connect("localhost", "root", "", "testing");
session_start();
if(isset($_SESSION["username"]))
{
header("location:entry.php");
}

if(isset($_POST["login"]))
{
if($_POST["username"] == '' || $_POST["pin"] == '')
{
echo '<script>alert("Alle felter SKAL udfyldes!")</script>';
}
else
{
$username = mysqli_real_escape_string($connect, $_POST["username"]);
$password = mysqli_real_escape_string($connect, $_POST["password"]);
$pin = mysqli_real_escape_string($connect, $_POST["pin"]);
$password = sha1($password);
$pin = sha1($pin);
$query = "SELECT * FROM users WHERE username = '$username'";
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
$row = mysqli_fetch_assoc($connect, $result) ;
$pass = $row['password'] ;
$check_pin = $row['pin'] ;

if ($password === $pass && $pin === $check_pin){
$_SESSION['username'] = $username;
header("location:entry.php");
}
}
else
{
echo '<script>alert("Forkert brugernavn, adgangskode eller pin-kode")</script>';
}
}
}
?>

关于php - 我的登录脚本包含用户名、密码和 PIN 码,但无法使用 PIN 码登录(不知何故),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961140/

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