页面上的第二个表单不执行任何操作

时间:2018-06-06 03:56:16

标签: php forms submit

我在页面上有两个表单。第一种是简单地允许用户访问被阻止的内容。 (我理解与此路线相关的风险,但它只是允许成员查看不会带来任何风险的某些信息)。

这是页面顶部...

<?php
    if (isset($_POST['password']) && $_POST['password'] == 'password') {
        setcookie("password", 'password', strtotime('+1 day'));
        header('Location: index.php');
        exit;
    }
?>
.....
<form method="POST">
   <input type="text" name="password">
   <input type="submit" class="btn btn-full" value="Continue" />
</form>

我认为这阻止了第二种形式(下面)的操作(当你点击提交按钮时,没有任何反应。就像你根本没有按下按钮一样)。

<form action="handler.php" method="post" class="contactForm">
    <div class="form-group">
        <input type="text" name="name" class="form-control" id="name" placeholder="Your Name" data-rule="minlen:4" data-msg="Please enter at least 4 chars" />
        </div>
        <div class="form-group">
                <input type="email" class="form-control" name="email" id="email" placeholder="Your Email" data-rule="email" data-msg="Please enter a valid email" />
        </div>
        <div class="form-group">
                <input type="text" class="form-control" name="subject" id="subject" placeholder="Subject" data-rule="minlen:4" data-msg="Please enter at least 8 chars of subject" />
         </div>
         <div class="form-group">
                <textarea class="form-control" name="message" rows="5" data-rule="required" data-msg="Please write something for us" placeholder="Message"></textarea>
         </div>
    <div class="text-center">
        <input type="submit" value="Send Message" class="btn btn-full" />
    </div>
</form>

如何修复第一部分以使第二种形式发挥作用?

1 个答案:

答案 0 :(得分:0)

嗯,我试了一下它就有效了。

1)确保在index.php目录下有handler.php文件(根据你的代码)。

2)检查是否存在任何控制台错误。如果有,请将其附在您的帖子上。

3)你是否覆盖了来自js的表单提交事件或输入按钮事件?

此外,我没有看到任何限制第二个表单出现在cookie中未设置密码的地方。 所以更好用:

<?php
if (isset($_COOKIE['password'])): ?>

YOUR SECOND FORM

<?php endif; ?>

并在输入密码时隐藏第一个表单。