Mr. Hola
Mr. Hola

Reputation: 39

PHP show all cookies relevant to some string

Let’s suppose I‘ve set cookie in PHP, like so:

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

And I display those cookie data like this:

<?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 } ?>

Now on another page I need to display all cookies whose name starts with USER_PRODUCT. Is it possible in PHP or is there another way?

Upvotes: 1

Views: 700

Answers (2)

Ezekiel
Ezekiel

Reputation: 696

Assuming your page 1 code is as follow

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

you can do this for page 2 (or any other application where the user_product can be located at any position)

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

Upvotes: 1

Wouter075
Wouter075

Reputation: 134

This is a solution without the explode.

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

Upvotes: 1

Related Questions