2013-12-22 107 views
0

我需要从带有jeasyui Grid的页面向另一个demo.php发布ID值,以创建pdf报告。所以我的想法是使用cookies,就像这样。Jquery cookie-如何使用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我使用它来获取饼干值:

  $(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" 
+0

如果你想在PHP中使用cookie,你为什么要问jQuery? https://duckduckgo.com/?q=PHP+read+cookie – Quentin

+0

嗨,tnx的答案...因为,我只需要做正确的:)当我与网格一起使用它们时,php cookies产生了巨大的问题,因为我试着用Jq。 Tnx再次! – Pavlen

回答

0

什么你要找的是:

$_COOKIE["something"] 

我希望你找到了其余:) (请确保您在字符串中使用适当的引号,不喜欢你的问题写;也知道impla的语法nting数组元素引用字符串;最后,注意cookie的价值,它可以被操纵,以保护您的查询免受棘手的价值。)

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值,而不是你的PHP文件的cookie名称。为此,您不需要设置cookie,只需将值发送到php文件即可。在我的例子中,我使用了jQuery ajax post函数。我相应地更新了我的示例PHP。

+0

嗨男士,tnx。我仍然有一个问题,这是错误的:未定义的索引:名称,饼干仍然没有链接,但TNX :)我尝试不同的饼干,但不工作。 – Pavlen

+0

你得到那个错误的文件是什么? – Enijar

+0

我把你的代码放在demo.php文件中,我需要cokies的值。 – Pavlen