Jquery cookie - 如何使用cookie

时间:2013-12-22 12:59:45

标签: javascript php jquery jqgrid jquery-cookie

我需要使用jeasyui Grid从页面发布ID值到另一个demo.php,用于创建pdf报告。所以我的想法是使用像这样的cookie。

  $(function () {

        $("#btnCookie").bind("click", function () {
        var row = $('#tt').datagrid('getSelected');
    if (row){
            $.cookie("name",row.id);
          alert($.cookie("id"));//just to check for value ,and it is OK!
            window.location.href = "demo.php";
        }});
    });
提交后,我得到正确的价值。 在demo.php上,我使用它来获取cookie值:

         $(function () {
        if ($.cookie("id") != null ) {
           var id = $.cookie("name");

            $.removeCookie("id");
           }
    });
</script>

现在我的问题是将cookie值放在php部分的下一个查询中:

$result = mysqli_query($con,"SELECT * FROM stan where id="HERE I need cookie value"

2 个答案:

答案 0 :(得分:0)

您正在寻找的是:

$_COOKIE["something"] 

我希望你找到其余的:) (确保你在字符串中使用正确的引号,而不是像你在问题中写的那样;也要注意将数组元素引用植入字符串的语法;最后,注意cookie值,它可以被操纵以保护你的查询反对棘手的价值观。)

答案 1 :(得分:0)

您正确设置了jQuery cookie。要调用它并搜索数据库,只需在查询中使用它,如下所示:

<?  
    $value = $_POST['rowValue'];

    $stmt = $con->prepare("
        SELECT * 
        FROM stan 
        WHERE id = ?
    ");

    $stmt->execute(array($value));

    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);   
?>

编辑:因评论而更新:

<script>
$.post("demo.php", {
        rowValue: row.id //The cookie value
    }
});
</script>

所以我现在明白你想要将cookie值,而不是cookie名称传递给你的php文件。为此,您不需要设置cookie,您只需将值发送到php文件即可。在我的例子中,我使用了jQuery ajax post函数。我相应地更新了我的示例PHP。