繁体   English   中英

基本密码格式不起作用

[英]Very Basic Password form not working

我需要一些帮助,因为在输入任何内容时,输出中都没有任何内容。 以便您知道...我是网站的新手,并且今天早上花了大部分时间试图弄清楚这一点,无法解决。 谢谢史蒂夫

要求的解释:页面为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"); 
  }

?>

如果要在提交后填充密码字段,则需要将表单页面从.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()在页面中,但这有点复杂。 这是一个简单的例子。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM