我有以下php代码
<?php
if (isset($_POST['submit_btn']))
{
$username = $_POST['name'];
$password = $_POST['pwd'];
if (empty($username))
{
echo "Please enter a username<br>";
} else $username = $username;
if (empty($password))
{
echo "Please enter a password<br>";
} else $password = $password;
$text = $username . "," . $password . "\n";
$fp = fopen('accounts.txt', 'a+');
if(!empty($username) && !empty($password) && fwrite($fp, $text)) {
header('Location: login.html');
}
fclose ($fp);
}
?>
我要求用户为我的页面创建登录名,因此他们必须输入用户名和密码。我正在将用户信息存储在以下格式的文本文件中(我知道这很不好,但这是出于教育目的,因此我必须这样做):
user1,password1
user2,password2
我也在检查错误,以确保用户在输入字段中输入了一些内容,如果没有输入,我会在屏幕上显示一条消息,告诉他们输入用户名或密码。我的问题是我如何防止用户使用与其他用户相同的用户名,所以示例
A user enter the following data
simon,password123
and another user enters
simon,adminpassword
现在这是允许的,但是我该怎么做,所以在我的代码中是不允许的。
尝试这样的事情:
$path = 'accounts.txt';
if (file_exists($path)) {
$contents = file_get_contents($path);
$contents = explode("\n", $contents);
$users = array();
foreach ($contents as $value) {
$user = explode(',', $value);
$users[$user[0]] = $user[1];
}
if (isset($users[$_POST['name']])) {
// User exists!
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句