我尝试使用php和txt文件创建一个登录系统但是当我尝试代码时它将无法正常工作。相反,如果回显“你现在已经登录”它回应“dos not working”。为什么会这样?
users.txt文件
david
123123
---------------
nicklas
1222
---------------
hello
wwe
PHP
<?php
$lines = file('users.txt');
$data = array();
$username = '';
$password = '';
if(isset($_POST['username'])) {
$username = $_POST['username'];
$password = $_POST['password'];
for($i = 0; $i < count($lines); $i++) {
if(trim($lines[$i]) === trim($username)) {
$data[0] = $lines[$i]; //username
$data[1] = $lines[$i+1]; //password
break;
}
}
}
if (($data[0] === $username) && ($data[1] === $password)) {
echo "You are logged in";
}
else {
echo "dosn't work";
}
?>
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Login</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<link href="https://fonts.googleapis.com/css?family=Gothic+A1" rel="stylesheet">
</head>
<body>
<div id="login">
<h1>Login</h1>
<p>With password and username</p>
<br />
<form action="" method="post">
<input type="text" class="textfield" name="username" placeholder="Username" />
<br />
<br />
<input type="text" class="textfield" name="password" placeholder="Password" />
<br />
<br />
<input type="submit" id="btn" name="submit" />
</form>
</div>
<p></p>
<p></p>
</body>
</html>
我已经知道如何使用phpmyadmin和sql创建登录表单,但我希望能够将数据存储在txt文件中
答案 0 :(得分:1)
您需要修剪用户名和密码的多余空格。
$data[0] = trim($lines[$i]); //username
$data[1] = trim($lines[$i+1]); //password
编辑:我假设这是出于教育目的而你没有计划在文本文件中拥有帐户。如果是这样,我建议使用PHP查看数据库和散列密码。