非常基本密码表格不起作用

时间:2014-03-10 17:31:01

标签: php html forms passwords submit

我需要一些帮助,因为在输出中没有输入任何内容时。只是为了让你意识到......我对网站非常陌生,我今天早上的大部分时间都在努力解决这个问题并且无法解决这个问题。谢谢史蒂夫

请求说明:该页面为www ........ co.uk/contact.html

当我提交带有文本的表单或在字段中没有文本时,单击“提交”。该字段清空(空白)页面

刷新并在地址栏中显示www ........ co.uk/contact.html#

显示完全相同的内容www ........ co.uk/contact.html

是的,这个档案在www ........ co.uk/contact.html#

上仍然是空的

基本上刷新在末尾添加#的页面

HTML:

 <form  name = "login" method = "post" action = "check.php" > 
    <input type = "password" name = "pass">
    <input type = "submit" value = "login" style="color:white; background: blue"> &nbsp &nbsp
    </form>

PHP密码检查页

<?php
if   ($_POST['pass']  ==  "pass123") 

   {
       header("Location: http://www.example-correct.co.uk"); 
   }


 else

  {
     header("Location: http://www.example-wrong.co.uk"); 
  }

?>

1 个答案:

答案 0 :(得分:0)

如果您希望在提交后填写密码字段,则需要将表单页面从.html更改为.php,然后重定向到原始表单页面而不是check.php

<input type = "password" name = "pass" <?php if(isset($_POST['pass'])) { echo 'value="'.$_POST['pass'].'"'; } ?>>

如果用户输入了错误的密码,而不是重定向到另一个页面,则需要显示相同的页面并生成错误消息,然后再次显示该表单,以便他们输入正确的密码。

这是你的新contact.php

<?php
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
        if($_POST['pass'] == 'pass123') {
            header('location: http://www.example-correct.co.uk');
        } else {
            echo 'wrong pass';
        }
    }
?>
<html>
<body>
    <form  name = "login" method = "post" action = "contact.php" > 
        <input type = "password" name = "pass" <?php if(isset($_POST['pass'])) { echo 'value="'.$_POST['pass'].'"'; } ?>>
        <input type = "submit" value = "login" style="color:white; background: blue"> &nbsp &nbsp
    </form>
</body>
</html>

当然,在提交后回显密码并没有太大作用,因为它只是子弹(我从不回应传递),但这个例子向您展示了它是如何完成的。您也可以在提交后使用单独的表单处理页面include(),但这有点复杂。这是一个更简单的例子。

编辑:更新的代码示例,修复了一个错误。