2017-12-18 195 views
0

讓我們假設我在PHP中設置cookie的,就像這樣:PHP顯示相關的一些字符串所有Cookie

cookie_name = "USER_PRODUCT".rand(0,9999); 
$cookie_value = $name; 
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day 
echo "Successs"; 

我顯示這些cookie數據是這樣的:

<?php foreach ($_COOKIE as $key=>$val) { ?> 
    <div class="row col-sm-4 productDiv" data-id="myProduct_<?=$i?>" style="margin: 0px;"> 
     <div class="alert alert-info mydiv"><?=$val?></div> 
    </div> 
<?php } ?> 

現在在另一個頁面我需要顯示名稱以USER_PRODUCT開頭的所有Cookie。有沒有可能在PHP中或有另一種方式?

+2

你可以在'USER_PRODUCT'結尾添加'-',然後你可以通過'explode()'函數 –

+0

的幫助獲得從'USER_PRODUCT'開始的所有cookie,請示例 –

+0

anwser to這個問題是「是的,這是可能的」。 – Cagy79

回答

0

這是一個沒有爆炸的解決方案。

<?php 
foreach ($_COOKIE as $key=>$val) { 
    if (substr($key, 0, 12) == "USER_PRODUCT") { 
     echo $key . " - " . $val . "<br>"; 
    } 
} 
+0

答案@ Wouter075。 –

0

假設你的頁面1的代碼如下

$name="topupStackoverflow"; 
$cookie_name = "USER_PRODUCT".rand(0,9999); 
$cookie_value = $name; 
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); 
echo "Successs"; 

你可以爲第2頁做到這一點(或任何其他應用程序,其中user_product可以位於任何位置)

$stringn="USER_PRODUCT"; 
foreach($_COOKIE as $cookie => $taste){ 
if(stristr($cookie,$stringn)!=false){ 
    echo $cookie." = = >>".$taste."<br>"; 
} 
} 
相關問題