无法将表单值传递给 php 页面,当它位于 div 模态时

Cannot able to pass the form values to a php page when its inside div modal

这是我的代码。它不能正常工作。表单内的值未发布到 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";
?>'

我总是得到失败作为输出,这意味着值不是从表单中发布的。请任何人帮助我尽快解决这个问题。

您似乎没有名为 "email" 的输入,因此 isset() 函数(正确地)返回 false

像这样尝试使用您的 uname 字段。

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

您的表单中没有 email 输入。所以我在这里使用 uname ,它在你的表单中。确保它们以任何形式匹配。

此外,请注意您如何在 PHP 代码中使用大括号。您将它们用于 if 语句的第一部分,然后不要用于 else 运算符。尽量保持一致,否则你会自找麻烦。

提示:如果您没有得到预期的 post 结果,您始终可以输出完整的 POST。将 var_dump($_POST); 放入您的代码中,您将确切地看到您从表单中收到的内容。