如何使用HTML和php正确登录?
所以,我正在创建一个简单的文件共享站点,它只接受一个用户名来登录。 但即使我有正确的用户名,程序也会认为它是错误的。下面是我的代码:如何使用HTML和php正确登录?,php,html,login,Php,Html,Login,所以,我正在创建一个简单的文件共享站点,它只接受一个用户名来登录。 但即使我有正确的用户名,程序也会认为它是错误的。下面是我的代码: <form method ="POST"> <p> <label for="user">User ID: </label><input type="text" name="userID" id="user" /> </p> <p>
<form method ="POST">
<p>
<label for="user">User ID: </label><input type="text" name="userID" id="user" />
</p>
<p>
<input type="submit" name = "LogIn" value="Log In" />
<input type ="reset"/>
</p>
</form>
用户ID:
PHP部分
<?php
$users = file('users.txt');
if (isset($_POST['LogIn'])) {
echo $_POST['userID'].'<br>';
foreach ($users as $user) {
if ($_POST['userID']==$user){
header("Location: FileShareLogInRedirect.php");
exit;
}
}
echo "Wrong ID".'<br>';
?>
<?php
$users = file('users.txt');
if (isset($_POST['userID'])) {
echo $_POST['userID'].'<br>';
foreach ($users as $user) {
if ($_POST['userID']==$user){
header("Location: FileShareLogInRedirect.php");
exit;
}
}
echo "Wrong ID".'<br>';
?>
我可能做错了什么?看起来它应该能用。你还没有变形
echo "Wrong ID".'<br>';
回显“错误ID”。
;
在else语句中。
例如:
如果没有else语句,无论登录是否正确,每次都将执行echo语句。提交按钮值不会随帖子一起发送 不应使用“提交”按钮尝试传递表单值
<form method ="POST">
<p>
<label for="user">User ID: </label><input type="text" name="userID" id="user" />
</p>
<p>
<input type="submit" value="Log In" />
<input type ="reset"/>
</p>
</form>
用户ID:
PHP部分
<?php
$users = file('users.txt');
if (isset($_POST['LogIn'])) {
echo $_POST['userID'].'<br>';
foreach ($users as $user) {
if ($_POST['userID']==$user){
header("Location: FileShareLogInRedirect.php");
exit;
}
}
echo "Wrong ID".'<br>';
?>
<?php
$users = file('users.txt');
if (isset($_POST['userID'])) {
echo $_POST['userID'].'<br>';
foreach ($users as $user) {
if ($_POST['userID']==$user){
header("Location: FileShareLogInRedirect.php");
exit;
}
}
echo "Wrong ID".'<br>';
?>
函数文件()无法逐行处理。对于这种情况下的任何原始数据处理,我们使用_array()中的函数。函数在数组()中,只有当我们有显式函数数组()时才能使用。因此,我们需要变量$users等于array()。在函数fopen()和loop While的帮助下加载array()之后,以及在_array()中使用函数之后。
以下是代码:
<form method ="POST">
<p>
<label for="user">User ID: </label><input type="text" name="userID" id="user" />
</p>
<p>
<input type="submit" name = "LogIn" value="Log In" />
<input type ="reset"/>
</p>
</form>
<?php
$users=array();
$fpn=fopen('users.txt', 'r');
while (!feof($fpn))
{
$user=fgets($fpn);
$user=trim($user);
$users[]=$user;
}
if (in_array($_POST['userID'], $users)) {
header("Location: FileShareLogInRedirect.php");
exit;
}
echo "Wrong ID".'<br>';
?>
用户ID:
谢谢你的帮助。但这并没有改变任何事情。我的程序仍然认为所有正确的用户名都是错误的“不会改变任何东西”???!你在开玩笑吗??!给那些试图帮助你的人一点荣誉怎么样。您的代码将停止在isset($\u POST['LogIn'])。。。那么,我的代码如何为您修复“不会改变任何东西”。。。相当忘恩负义。。。关于你。。。在这里这里有更多的帮助,你可以继续忘恩负义。。。尝试添加以下内容以查看循环中的内容:foreach($users as$user){echo$user.“”;}或-发布users.txt的内容,以便我们可以查看其中的内容。它仅适用于文件users.txt中的一个用户(一个原始用户)。可能是空白或大写字符。显示文件内容和您提交的内容