HTML 自定义登录


HTML custom login

所以我有这个网站,我正在制作,我一直运行PHP文件和html文件,但PHP文件无法正常工作。

.HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AUTHENTICATION</title>
</head>
<body>
    <form method="POST" action="PHP/password.php" style="text-align:center">
    ENTER THE AUTHENTICATION CODE: 
    <input type = "password" name = "password" value = "">
    <input type = "submit" value = "submit">
    </form>
</body>
</html>

.PHP:

<?php
if (isset($_POST['submit']))
{
$pass = $_POST['password']
if ($pass == "111")
{
    header("Location: ../HTML/index1.html");
}else
{
    {?>
        <form method="POST" action="../PHP/password.php" style="text-align:center">
        ENTER THE AUTHENTICATION CODE: 
        <input type = "password" name = "password" value = "">
        <input type = "submit" value = "submit">
        <br />
        <font color = "red">incorrect password!</font>
        </form>
        <?}
    }
}
?> 

PHP 应该获取您键入的内容,如果它等于"111",它会将您重定向到网站的不同部分。如果没有,它会告诉您密码不正确,并运行 else。但是,无论我输入什么,它都认为密码"错误"并执行代码的"else"部分。有什么帮助吗?

目录图片:https://gyazo.com/7d49b063cd5dfaf6405e3704b3f3fa96

注意:我不在乎将其更改为更安全,因为这是我正在研究的爱好。

就像其他人已经说过的那样,提交不是您要发送的值,而不是尝试这个

if (!empty($_POST))

然后你会得到这样的东西..

<?php
if (!empty($_POST)){
   $pass = $_POST['password']
if ($pass == "111"){
    header("Location: ../HTML/index1.html");
}else{
    {?>
        <form method="POST" action="../PHP/password.php" style="text-align:center">
        ENTER THE AUTHENTICATION CODE: 
        <input type = "password" name = "password" value = "">
        <input type = "submit" value = "submit">
        <br />
        <font color = "red">incorrect password!</font>
        </form>
        <?}
    }
}
?> 

我会亲自更改 php 文件的 html,然后您就不需要复制表单代码......只需发送参数或错误,然后能够读取它并在屏幕上显示它。

将登录重命名为登录名.php并执行此操作

<?php
if (!empty($_POST)){
   $pass = $_POST['password']
    if ($pass == "111"){
        //wherever you want to go after login
    }else{
       $password = false;
    }
}
?>
    <form method="POST" action="#" style="text-align:center">
        ENTER THE AUTHENTICATION CODE:
        <input type = "password" name = "password" value = "">
        <input type = "submit" value = "submit">
        <br />
        <?php if(isset($password) && ($password != true){ ?>
        <font color = "red">incorrect password!</font>
         <?php } ?> 
        </form>

您没有名为 submit 的输入。因此,当您运行代码时,$_POST['submit'] 会返回一个未识别的索引,您可能看不到该索引,因为您的error_reporting已关闭。

尝试添加

<input type="hidden" name="submit" value="true">

在您的 HTML 中。

但是,您确实有一个带有type="submit"的输入,但这只是一个按钮,因此您在那里没有运气。