所以我有这个网站,我正在制作,我一直运行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"
的输入,但这只是一个按钮,因此您在那里没有运气。