Невозможно передать значения формы на страницу php, когда она находится внутри модального div

0

Вот мой код. Он работает неправильно. Значения внутри формы не отправляются в файл php, то есть login.php.

<div id="myModal1" class="modalDialog">
<div>
<h1>
<a href="#close" title="Close" class="close">X</a>
</h1>
<div class="login-form">
<div class="head">
<img src="img/mem2.jpg" alt="" />
</div>
<form method="post" id="myform" method="post" action="login.php">
<li><input type="text" name="uname" required class="text" placeholder="USERNAME" /><span class=" icon user"></a></li>
<li><input type="password" name="pwd" required placeholder="PASSWORD" /><span class=" icon lock"></a></li>
<div class="p-container">
<input type="submit" name="login" value="SIGN IN" />
</div>
<a href="register.php"><h5>Register Here</h5></a>
</form>
<div>
</div>
</div>  

<?php
if(isset($_POST['uname']))
{
  echo "success";
}
else
echo"failure";
?>'

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

  • 0
    Вы пытаетесь получить доступ к полю электронной почты, которого нет в вашей форме. измените его на $_POST['uname']
  • 1
    Вы также, кажется, отредактировали свой вопрос и испортили форматирование :(
Теги:

2 ответа

0
Лучший ответ
<?php
if(isset($_POST['uname'])) {
    echo "success";
} else {
    echo "failure";
}

Там нет ввода email в вашей форме. Поэтому я использую uname здесь, который находится в вашей форме. Убедитесь, что они совпадают в любой форме.

Кроме того, посмотрите, как вы используете фигурные скобки в PHP-коде. Вы используете их для первой части оператора if, а затем не для оператора else. Старайтесь быть последовательными, иначе вы будете беспокоиться.

СОВЕТ. Если вы не получаете ожидаемых результатов сообщений, вы всегда можете вывести полный POST. Поместите var_dump($_POST); в вашем коде, и вы точно увидите, что получаете от формы.

  • 0
    Спасибо за ответ. Я изменил свой php код, но все еще получаю ту же ошибку.
  • 0
    Вы пробовали var_dump перед оператором if, чтобы увидеть, что вы на самом деле получаете?
Показать ещё 5 комментариев
0

У вас нет ввода с именем "email", поэтому функция isset() (правильно) возвращает false

Попробуйте вместо этого использовать свое поле uname.

if(isset($_POST['uname']))
....
  • 0
    Спасибо за ответ. Даже после того, как я изменил его, я получаю тот же результат.
  • 0
    Хм, странно - у вас есть метод = "post" дважды в вашем теге <form>, возможно, удалите это? И убедитесь, что вы вводите новое значение в поле, а не просто оставляйте там заполнитель (некоторые браузеры удаляют заполнитель перед отправкой)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню