簡體   English   中英

如何在php cookie值中讀取jquery cookie值?

[英]How to read jquery cookie value in php cookie value?

我不確定是否有可能在php cookie值中讀取jquery cookie值?

var current = $.cookie("count");

    show<?php echo $keys; ?><?php setcookie("bgx","document.write(current)");  echo $_COOKIE["bgx"]; ?>now.play(); 

    $.cookie('count', <?php echo $count; ?>);

這是一個簡單的演示,演示了如何使用JavaScript創建cookie並在重新加載頁面時使用PHP讀取它(因為JavaScript是在PHP之后執行的,因為它是客戶端的)。 將此代碼復制到新的PHP文檔中,將其上載到您的服務器,然后嘗試。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Demo</title>
</head>
<body>

    <h1>Cookie demo</h1>

    <p>This demo shows how you can create a cookie with Javascript (using jQuery), and read it with PHP.</p>

    <?php

        /* THIS PORTION IS EXECUTED ON THE SERVER */

        // if the cookie "myCookie" is set
        if(isset($_COOKIE['myCookie'])){
            echo "<p><b>PHP found this value for <i>myCookie</i>: " .  $_COOKIE['myCookie'] . "</b></p>";
        }
        else{
            echo "<p><b>PHP did not find a value for <i>myCookie</i>. Give it a value below.<b></p>";
        }

    ?>

    <input type="text" id="myInput"/><button id="myButton">Change the cookie value using JS</button>

    <!-- make sure you load jQuery and the jQuery cookie plugin -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>

    <script>

        /* THIS PORTION OF CODE IS ONLY EXECUTED WHEN THE USER SEES THE PAGE (CLIENT-SIDE) */

        $(function(){
            $('#myButton').click(function(){
                $.cookie('myCookie', $('#myInput').val());
                alert(
                    'The value of myCookie is now "'
                  + $.cookie('myCookie')
                  + '". Now, reload the page, PHP should read it correctly.'
                );
            });
        });

    </script>
</body>
</html>

Cookie是存儲在瀏覽器中並與網站相關聯的一段數據。 每次瀏覽器從網站請求內容時,它都會在請求標頭中包含Cookie。

您可以使用客戶端JavaScript讀寫cookie。 (注意:可以將cookie標記為http_only,在這種情況下,無法使用客戶端JS讀取它們)。

您可以閱讀(通過檢查請求標頭)並使用服務器端代碼編寫(使用響應標頭)cookie。

通常的時間規則適用:

 show<?php echo $keys; ?><?php setcookie( 

使用服務器端代碼設置cookie需要您發出響應標頭。 在您開始輸出響應正文后,PHP不允許您發出響應標頭。

你試着打電話給setcookie太晚了。 您需要在開始輸出任何內容之前調用它。

 "document.write(current)" 

我不確定你在這里要做什么。

  • 將JavaScript代碼存儲在cookie中沒有多大意義。
  • 您無法使用客戶端代碼生成服務器端代碼,因此如果這是嘗試將current值寫入cookie,則為時已晚。
 setcookie("bgx","document.write(current)"); echo $_COOKIE["bgx"]; 

$_COOKIE填充了請求中的數據。

它的當前響應即將要求客戶存儲,其中沒有數據。 在下一個請求之前,您不會獲得該新值。


簡而言之:要使用JavaScript讀取cookie集,您必須設置發出新的HTTP請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM