2017-12-18 153 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>"; 
} 
} 
相关问题