PHP简单登录脚本(带if函数)

PHP简单登录脚本(带if函数),php,login,Php,Login,我是PHP新手,我只想要一个非常简单的不安全的登录表单测试 我写了这段代码:但我没有得到我想要的,你能纠正我做错了什么或者我应该添加什么,纠正 制作两个文件——一个带有html,另一个带有php函数。 在html中,添加到表单操作和方法 <html> <body> <form action="php_file_name.php" method="post"> Username: <input type="text" name="name" value="

我是PHP新手,我只想要一个非常简单的不安全的登录表单测试

我写了这段代码:但我没有得到我想要的,你能纠正我做错了什么或者我应该添加什么,纠正


制作两个文件——一个带有html,另一个带有php函数。 在html中,添加到表单操作和方法

<html>
<body>
<form action="php_file_name.php" method="post">
Username: <input type="text" name="name" value="" ><br>
Password: <input type"password" name="pass" value="" ><br>
<input type="submit">
</form>
在php_file_name.php中输入您编写的php代码,知道您正在使用POST方法,即:

<?php
    if ($_POST[name] == "root" && $_POST[pass] == "laptop") {
        header("Location: /index.html");
        exit;
    }

那就行了。当然,您可以选择php_file_name.php的其他名称,但相应地更改它后,您的php将编写HTML,然后将其发送到浏览器进行渲染-一旦完成发送到浏览器,它将退出。因此,您的第一个错误似乎是您没有理解服务器上发生的事情和客户端发生的事情的区别

您的下一个错误是PHP操作的变量恰好与表单元素同名,但表单值不会自动转换为PHP变量

您的第三个错误是,即使修复了前面的两个问题,您的脚本也无法工作:在写入html正文之前必须发出任何HTTP头,因此重定向将无法工作。考虑一下:

<?php
if ('root' == $_POST['name'] && 'laptop' == $pass) {
  header("Location: /index.html");
  exit;
}
?>
<html>
 <body>
  <form method='POST'>
   <?php print $_POST['name'] ? "Try again...." : "login..."; ?>
   <br /> 
   Username: <input type="text" name="name" 
        value="<?php print $_POST['name']; ?>" ><br />
   Password: <input type"password" name="pass" 
         value="<?php print $_POST['pass'] ?>" ><br />
   <input type="submit">
  </form>
 </body>
</html>

插入表单的php代码没有任何功能,它什么也不做。我编辑了您的表单,以便它将数据发送到同一页面。然后,您可以执行以下操作:

$name=$_POST['name']; $pass=$_POST['pass']


之后是旧代码。

您可以将其放在同一个文件index.php中

<?php
if (isset($_POST['submit']))
{
echo 'you submitted name='.$_POST['name'].' And password='.$_POST['pass'].'<br /><br />';
}

echo '<form method="post">
Name <input name="name" type="text" /><br />
Pass <input name="pass" type="password" /><br />
<input name"submit" type="submit" />
</form>';
?>

因此,您有一个表单没有发送到任何地方,您有另一个php脚本正在等待一些数据。表单需要被告知去哪里以及如何去做。最简单的方法是在网上搜索,因为有数百万人可以使用它。
<?php
if ('root' == $_POST['name'] && 'laptop' == $pass) {
  header("Location: /index.html");
  exit;
}
?>
<html>
 <body>
  <form method='POST'>
   <?php print $_POST['name'] ? "Try again...." : "login..."; ?>
   <br /> 
   Username: <input type="text" name="name" 
        value="<?php print $_POST['name']; ?>" ><br />
   Password: <input type"password" name="pass" 
         value="<?php print $_POST['pass'] ?>" ><br />
   <input type="submit">
  </form>
 </body>
</html>
<?php
if (isset($_POST['submit']))
{
echo 'you submitted name='.$_POST['name'].' And password='.$_POST['pass'].'<br /><br />';
}

echo '<form method="post">
Name <input name="name" type="text" /><br />
Pass <input name="pass" type="password" /><br />
<input name"submit" type="submit" />
</form>';
?>