我也尝试过使用POST和GET方法的代码,但我看不出这些方法的任何价值。提交表单后,页面刷新,但我的.php文件写出:Array ( )
我一直在寻找Chrome开发者工具的价值,但网络标签中没有“表单数据”,只有常规,响应标头和请求标头。
我的HTML代码:
<!--Modal: Login Form-->
<form id="loginModal" name="loginModal" class="modal fade modal-full-height" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"
data-backdrop="static" action="/main.php" method="POST">
<div class="modal-dialog cascading-modal" role="document">
<!--Content-->
<div id="loginModalDiv" class="modal-content">
<!--Header-->
<div class="modal-header myModalHeader">
<h4 class="title"><i class="fa fa-user-lg"></i> Login:</h4>
</div>
<!--Body-->
<div class="modal-body">
<div class="md-form form-sm">
<i class="fa fa-envelope prefix"></i>
<input type="text" id="logF_email" name="email" class="form-control">
<label for="logF_email">E-mail address:</label>
</div>
<div class="md-form form-sm">
<i class="fa fa-lock prefix"></i>
<input type="password" id="logF_passw" name="password" class="form-control">
<label for="logF_passw ">Password:</label>
</div>
<div class="text-center mt-2">
<div id="errorLogin"></div>
<button id="btnLogin" type="submit" class="btn btn-default myModalBtn">Belépés <i class="fa fa-sign-in ml-1"></i></button>
</div>
</div>
<!--Footer-->
<div id="footerLogin" class="modal-footer">
<div class="options text-center text-md-center mt-1">
<p>You don't have an account? <a class="loginToSignUp myGreenClass" data-toggle="modal" href="#"> Sign up!</a></p>
<p>Forget <a class="forgetPassword myGreenClass" data-toggle="modal" href="#"> password?</a></p>
</div>
<button type="button" class="btn btn-outline-default waves-effect ml-auto myModalBtn" data-dismiss="modal">Close</button>
</div>
</div>
<!--/.Content-->
</div>
</form>
...和.php文件:
$email =""; $password ="";
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
print_r($_POST);
$email = $_POST['email'];
$password = $_POST['password'];
print_r($email);
print_r($password);
if ($email=="") {echo "<br> 'no data'";}
else {echo "Your email: ".$email;}
}
我是初学PHP和表单处理,所以我想我可能会错过一些东西。 我试图避免琐碎的错误,因此我的代码包含:
type="submit"
提交按钮 if ( $_POST ){
if (!empty($_POST)){
也无效
知道什么是错的吗?
答案 0 :(得分:3)
将您的表单方法从GET
更改为POST
,因为您的后端正在过滤POST方法。
答案 1 :(得分:2)
在您的表单标记方法中,GET
应为POST
。如果您没有提及方法,它将自动采用GET
方法。因此,您希望从POST
获取数据,然后您应该在表单标记中使用POST
方法。从表单标记中删除GET
。
<form id="loginModal" name="loginModal" class="modal fade modal-full-height" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"
data-backdrop="static" action="/main.php" method="POST">
答案 2 :(得分:1)
将表单的方法更改为post来代替get
method="GET"
到
method="post"
在后端,你正在寻找请求方法作为帖子。在前端和后端都需要相同。
答案 3 :(得分:0)
好的,我发现了错误!
在我发送值之前,我在提交函数中使用jQuery验证了数据。
$("#loginModal").submit(function(){
...
问题是我在提交表单之前已禁用该表单,因为我想对用户做出一些预防措施,直到服务器没有响应才能执行任何操作。
(例如:如果连接缓慢,则需要很长的等待时间)
...
$('#loginModalDiv *').prop('disabled',true);
$('#footerLogin').hide();
return true;}
当我在返回之前剪切最后两行时(因此表单保持启用状态),提交函数能够从输入字段发送数据。
<强>结论:强>
所以,...对于每个不认识的人(像我之前一样),POST和GET方法不会从表单的禁用部分(如&lt; div&gt;)发送任何数据。
嗯......很高兴知道! :)