jQuery AJAX函数设置一个PHP $ _SESSION变量,单个复选框

时间:2013-02-12 00:29:33

标签: php jquery ajax

我第一次和Ajax一起出去玩。我试图捕获单个复选框的值,如果选中,则将PHP $ _SESSION变量设置为true。

HTML中的

我有这个。

 <input type="checkbox" name="agree" id="agree"/>
and the js is this....not sure what to put in the AJAX data params??
    $(document).ready(function() {
            $('#agree').click(function(){ 
                $.ajax({
                    url: 'agree.php',
                    type: 'GET',
                    data: { agreement:"checked" } //NOT Sure ABout this??
                });      
        })
    });

和PHP,伪代码可能是因为它不起作用..

if($_GET['agreement'] == 'checked') {
$_SESSION['hm-agreement'] = true;
     } else {
$_SESSION['hm-agreement'] = false;

}

2 个答案:

答案 0 :(得分:0)

AJAX呼叫似乎很好。可能是您应该在PHP脚本中添加一些调试,并查看Firebug或其他开发工具。

不要忘记在脚本的开头的PHP脚本上使用start_session()。 如果省略此调用,则会话对象不存在。

答案 1 :(得分:0)

您需要检查盒装是否已选中,您的代码现在将会话变量设置为true,无论您发送到php文件的是什么。

还使用了简写get ajax,少了代码

HTML

<input type="checkbox" name="agree" id="agree"/>

JS

$(document).ready(function() {
    $('#agree').click(function(){ 
        $.get('agree.php','agreement=' + ( this.checked ? 1 : 0 ) });
    })
});

PHP

session_start();
if($_GET['agreement']) {
    $_SESSION['hm-agreement'] = true;
} else {
    $_SESSION['hm-agreement'] = false;
}