сохранять файлы cookie с одинаковым именем, но разные значения в php

Я проектирую сайт недвижимости, у меня есть много объявлений на моем сайте, и когда пользователь нажимает на определенное объявление, он переходит на другую страницу viewmore.php которая дает пользователю более подробную информацию об этом определенном объявлении.

Теперь, как вы видите в файле viewmore.php я сохраняю идентификатор объявления в viewmore.php cookie и отправляю идентификатор объявления на любимую страницу, и пользователь может просмотреть этот пост в любое время, когда он или она захотят на любимой странице.

Проблема:

подумайте, что я посещаю эту страницу localhost/viewmore.php?ID=10 поэтому, когда вы переходите на страницу избранных, вы видите данные объявлений, принадлежащие этому идентификатору, но когда вы посещаете другое объявление, такое как localhost/viewmore.php?ID=11 и вы перейдите на любимую страницу, где вы видите данные объявлений, которые принадлежат id=11 а предыдущее добавление отсутствует. Я хочу сохранить их обоих на своей любимой странице или, фактически, сохранить все сообщения, которые я посещаю.

Как я могу это сделать?

 //reviewmore.php <!doctype html> <?php (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; ?> <?php $cookie_name = "favoritepost"; $cookie_value ="$ID"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day ?> <html> <body> <?php error_reporting(0); include("config.php"); (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; $result = mysqli_query($connect,"SELECT*FROM ".$db_table." WHERE idhome = $ID"); ?> <?php error_reporting(0); include("config.php"); (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; $result = mysqli_query($connect,"SELECT*FROM ".$db_table." WHERE idhome = $ID"); ?> <?php $row = mysqli_fetch_array($result): $price=$row['price']; $rent=$row['rent']; $room=$row['room']; $date=$row['date']; ?> <?php echo"price"; echo"room"; echo"date"; ?> </body> </html> в //reviewmore.php <!doctype html> <?php (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; ?> <?php $cookie_name = "favoritepost"; $cookie_value ="$ID"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day ?> <html> <body> <?php error_reporting(0); include("config.php"); (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; $result = mysqli_query($connect,"SELECT*FROM ".$db_table." WHERE idhome = $ID"); ?> <?php error_reporting(0); include("config.php"); (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; $result = mysqli_query($connect,"SELECT*FROM ".$db_table." WHERE idhome = $ID"); ?> <?php $row = mysqli_fetch_array($result): $price=$row['price']; $rent=$row['rent']; $room=$row['room']; $date=$row['date']; ?> <?php echo"price"; echo"room"; echo"date"; ?> </body> </html> в //reviewmore.php <!doctype html> <?php (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; ?> <?php $cookie_name = "favoritepost"; $cookie_value ="$ID"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day ?> <html> <body> <?php error_reporting(0); include("config.php"); (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; $result = mysqli_query($connect,"SELECT*FROM ".$db_table." WHERE idhome = $ID"); ?> <?php error_reporting(0); include("config.php"); (is_numeric($_GET['ID'])) ? $ID = $_GET['ID'] : $ID = 1; $result = mysqli_query($connect,"SELECT*FROM ".$db_table." WHERE idhome = $ID"); ?> <?php $row = mysqli_fetch_array($result): $price=$row['price']; $rent=$row['rent']; $room=$row['room']; $date=$row['date']; ?> <?php echo"price"; echo"room"; echo"date"; ?> </body> </html> 

favoritepage.php

 <!doctype html> <html> <body> <?php $cookie_name = "favoritepost"; ?> <?php error_reporting(0); include("config.php"); $result = mysqli_query($connect,"SELECT*FROM ".$db_table." WHERE idhome = $_COOKIE[$cookie_name]"); ?> <?php $row = mysqli_fetch_array($result): $price=$row['price']; $rent=$row['rent']; $room=$row['room']; $date=$row['date']; ?> <?php echo"price"; echo"room"; echo"date"; ?> </body> </html> в <!doctype html> <html> <body> <?php $cookie_name = "favoritepost"; ?> <?php error_reporting(0); include("config.php"); $result = mysqli_query($connect,"SELECT*FROM ".$db_table." WHERE idhome = $_COOKIE[$cookie_name]"); ?> <?php $row = mysqli_fetch_array($result): $price=$row['price']; $rent=$row['rent']; $room=$row['room']; $date=$row['date']; ?> <?php echo"price"; echo"room"; echo"date"; ?> </body> </html> 

Храните идентификаторы в виде массива в вашем файле cookie, например, вы должны serialize()/unserialize() или json_encode()/json_decode() массив в файл cookie, поскольку он поддерживает только текстовые и не сложные данные

 <?php $ID = is_numeric($_GET['ID']) ? $_GET['ID'] : 1; $cookie_name = "favoritepost"; if ( isset($_COOKIE[$cookie_name]) ) { $kookie = unserialize($_COOKIE[$cookie_name]); } else { $kookie = array(); } if ( ! in_array($ID, $kookie) ) { $kookie[] = $ID; } setcookie($cookie_name, serialize($kookie), time() + (86400 * 30), "/"); // 86400 = 1 day ?> <html> 

Теперь последний введенный cookie, который я предполагаю, будет тем, который вы хотите использовать в своем запросе, так что просто получите

 <!doctype html> <html> <body> <?php $cookie_name = "favoritepost"; include("config.php"); if ( ! isset($_COOKIE[$cookie_name]) ) { echo 'NO COOKIE SET'; exit; } $kookie = unserialize($_COOKIE[$cookie_name]); $ID = $kookie[count($kookie)-1]; $result = mysqli_query($connect,"SELECT * FROM $db_table WHERE idhome = $ID"); $row = mysqli_fetch_array($result): $price=$row['price']; $rent=$row['rent']; $room=$row['room']; $date=$row['date']; echo"price"; echo"room"; echo"date"; ?> в <!doctype html> <html> <body> <?php $cookie_name = "favoritepost"; include("config.php"); if ( ! isset($_COOKIE[$cookie_name]) ) { echo 'NO COOKIE SET'; exit; } $kookie = unserialize($_COOKIE[$cookie_name]); $ID = $kookie[count($kookie)-1]; $result = mysqli_query($connect,"SELECT * FROM $db_table WHERE idhome = $ID"); $row = mysqli_fetch_array($result): $price=$row['price']; $rent=$row['rent']; $room=$row['room']; $date=$row['date']; echo"price"; echo"room"; echo"date"; ?>