php_POST random不工作

php_POST random不工作,php,forms,post,Php,Forms,Post,我有一个奇怪的问题 情况: 我有一个带有“post”方法的表单。 在该表单中,我有一个复选框和一个提交按钮。 当我按下submit按钮时,if语句将捕获post var是否已设置 问题: 当我按下submit按钮时,它就不工作了。 所以我现在按下它,它要么起作用,要么不起作用 这是我用来抓住帖子的代码 if ( isset ( $_POST['mail_subscribe'] ) ) { //My code here } 这是表单中的代码(我正在使用smarty) 当我提交这张

我有一个奇怪的问题

情况: 我有一个带有“post”方法的表单。 在该表单中,我有一个复选框和一个提交按钮。 当我按下submit按钮时,if语句将捕获post var是否已设置

问题: 当我按下submit按钮时,它就不工作了。 所以我现在按下它,它要么起作用,要么不起作用

这是我用来抓住帖子的代码

if ( isset ( $_POST['mail_subscribe'] )  ) {
    //My code here
}
这是表单中的代码(我正在使用smarty)




当我提交这张表格时,有时它是有效的,但更多的时候它不是。 如果你们需要更多信息,请告诉我。 我会尽快更新这个问题

回答

我找到了问题的答案。 谢谢@RobertMaysJr

如果未选中复选框,并且该复选框是表单中的唯一字段,则表单将永远不会提交


现在我知道我正在改变这样做的方式:)

它需要始终为value=“1”-如果未选中该复选框,则浏览器将根本不会提交它

它需要始终为value=“1”-如果未选中该复选框,则浏览器根本不会提交该复选框

问题是只有选中该复选框时,
邮件订阅
键才会存在于
$\u POST


因此,代码不会一直执行。

问题是,只有选中复选框后,
$\u POST
中才会存在键
mail\u subscribe

因此,代码不会一直执行。

使用此

if ( isset ( $_POST['mailing_submit'] )  ) {
    //My code here
}




使用此

if ( isset ( $_POST['mailing_submit'] )  ) {
    //My code here
}





您的表单操作不应该具有.php扩展名文件:

<form action="/my/url.php" method="post">
    <input type="checkbox" name="mail_subscribe" class="mail_subscribe" id="{$var.graph1.ID}" {if $var.mailing == 1}checked="checked" value="0"{else}value="1"{/if} />
    <br /><br />
    <input type="submit" value="save" id="mailing_submit" name="mailing_submit"/>
</form>

表单操作不应该有.php扩展名文件:

<form action="/my/url.php" method="post">
    <input type="checkbox" name="mail_subscribe" class="mail_subscribe" id="{$var.graph1.ID}" {if $var.mailing == 1}checked="checked" value="0"{else}value="1"{/if} />
    <br /><br />
    <input type="submit" value="save" id="mailing_submit" name="mailing_submit"/>
</form>

而不是选中复选框值检查提交按钮

if ( isset ( $_POST['mail_subscribe'] )  ) {
    //My code here
}
而不是那张支票

if ( isset ( $_POST['mailing_submit'] )  ) {
    //My code here
}
这将确保提交表格。
如果选中复选框,则只有您的代码才能工作,而不是选中提交按钮的复选框值检查

if ( isset ( $_POST['mail_subscribe'] )  ) {
    //My code here
}
而不是那张支票

if ( isset ( $_POST['mailing_submit'] )  ) {
    //My code here
}
这将确保提交表格。
如果选中复选框,则只有您的代码才能工作

使用此jquery更容易

$('#yourcheckbox').click(function(){
  if($(this).is(':checked')){
       $.post('http://your form action url',{your form data },function(result){
               alert(result);
       }
  }

});
我有随机发布数据的方法,在发送过程中将所有表单数据替换为假数据
阅读此处

使用此jquery更容易

$('#yourcheckbox').click(function(){
  if($(this).is(':checked')){
       $.post('http://your form action url',{your form data },function(result){
               alert(result);
       }
  }

});
我有随机发布数据的方法,在发送过程中将所有表单数据替换为假数据
阅读此处

var\u dump($\u POST);把它放在接收帖子的文件的顶部。这不会有帮助,但会导致commentvar\u转储($\u POST);把它放在你收到帖子的文件的顶部。这不会有什么帮助,但是谢谢你的评论。我完全忘记了那个事实。当我能再次回答时,我会接受你的回答:)谢谢。我完全忘记了那个事实。我会接受你的回答,当我可以再次XD thnks:)这不会有帮助,因为,正如我现在知道的,表格根本没有提交。但是谢谢你给我时间回答:)那没用,因为,我现在知道,表格根本没有提交。但是谢谢你抽出时间回答:)不,不应该。我的应用程序被重定向到index.php,并带有.htacces。从那里应用程序将启动。这样,我可以使用类似www.example.com/some/url/to/my/pages.html的url,index.php将启动加载正确页面的过程。不,不应该。我的应用程序被重定向到index.php,并带有.htacces。从那里应用程序将启动。这样,我可以使用类似www.example.com/some/url/to/my/pages.html的url,index.php将启动加载正确页面的过程。