Вторая форма на странице не выполняет никаких действий - PullRequest
0 голосов
/ 06 июня 2018

У меня есть две формы на странице.Первый - просто позволить пользователю получить доступ к заблокированному контенту.(Я понимаю риски, связанные с этим путем, но я просто позволяю участникам просматривать определенную информацию, которая не представляет какого-либо риска).

Это вверху страницы ...

<?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 голосов
/ 06 июня 2018

Ну, я попробовал, и это сработало.

1) Убедитесь, что у вас есть файл handler.php в каталоге index.php (согласно вашему коду).

2) Проверьте наличие ошибок консоли.Если есть, то, пожалуйста, приложите его к вашему сообщению.

3) а вы переопределяли событие отправки формы или событие нажатия кнопки ввода из js?

Также я не вижу ничего, чтобы вы ограничивали отображение второй формы, когда пароль не задан в cookie-файле .. поэтому лучше использовать:

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

YOUR SECOND FORM

<?php endif; ?>

и скрывать первую форму, когдапароль введен.

...