Я проектирую сайт недвижимости, у меня есть много объявлений на моем сайте, и когда пользователь нажимает на определенное объявление, он переходит на другую страницу 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"; ?>