У меня есть проект создания маршрута. Все доступные пункты назначения перечислены на моей правой панели и могут быть выбраны нажатием кнопки. После того, как пользователь выберет желаемый пункт назначения / с, он будет отображаться на моей правой панели на той же странице, в этой части все работает отлично. Я также успешно передал выбранное значение назначения в URL, используя сеанс, но когда я собираюсь отобразить его на другой странице, я получаю только последнее значение выбранного места назначения. Может кто-нибудь знает какое-либо решение или обойти? Любая помощь будет очень высоко ценится. Заранее спасибо!
Ниже приведен скриншот моего проекта и коды для справки.
Это мой вид правой панели, где пользователь может выбрать пункт назначения / с.
Это мои коды для выбора пункта назначения / с.
<?php
session_start();
if(!empty($_SESSION['destinationID'])){
$destinationID = $_SESSION['destinationID'];
}
$dropdown_destination = $_GET['dropdown_destination']?:null;
$dropdown_tourdate = $_GET['dropdown_tourdate']?:null;
require_once("dbcontroller.php");
$db_handle = new DBController();
if(!empty($_GET["action"])) {
switch($_GET["action"]) {
case "add":
if(!empty($_POST["quantity"])) {
$productByCode = $db_handle->runQuery("SELECT * FROM tourist_spot WHERE TOURIST_SPOT_ID='" . $_GET["code"] . "'");
$itemArray = array($productByCode[0]["TOURIST_SPOT_ID"]=>array('TOURIST_SPOT'=>$productByCode[0]["TOURIST_SPOT"],
'code'=>$productByCode[0]["TOURIST_SPOT_ID"],
'quantity'=>$_POST["quantity"],
'PRICE_PER_LOC'=>$productByCode[0]["PRICE_PER_LOC"]));
if(!empty($_SESSION["cart_item"])) {
if(in_array($productByCode[0]["TOURIST_SPOT_ID"],array_keys($_SESSION["cart_item"]))) {
foreach($_SESSION["cart_item"] as $k => $v) {
if($productByCode[0]["TOURIST_SPOT_ID"] == $k) {
if(empty($_SESSION["cart_item"][$k]["quantity"])) {
$_SESSION["cart_item"][$k]["quantity"] = 0;
}
$_SESSION["cart_item"][$k]["quantity"] += $_POST["quantity"];
}
}
} else {
$_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray);
}
} else {
$_SESSION["cart_item"] = $itemArray;
}
}
break;
case "remove":
if(!empty($_SESSION["cart_item"])) {
foreach($_SESSION["cart_item"] as $k => $v) {
if($_GET["TOURIST_SPOT_ID"] == $k)
unset($_SESSION["cart_item"][$k]);
if(empty($_SESSION["cart_item"]))
unset($_SESSION["cart_item"]);
}
}
break;
case "empty":
unset($_SESSION["cart_item"]);
break;
}
}
?>
Если пользователь нажмет добавить, выбранный пункт назначения будет отображаться на левой панели.
Это мой код того, как я отображаю выбранное место назначения на левой панели и передаю параметры в URL.
<div class="ui teal segment">
<?php
if(isset($_SESSION["cart_item"])){
$total_quantity = 0;
?>
<div class="">
<?php
foreach ($_SESSION["cart_item"] as $item){
?>
<div class="ui clearing segment iti-details">
<div class="ui left floated header">
<h2 class="ui header">
<img class=" large image" src="resources/images/bg6.jpg">
<div class="content">
<div class=""><?php echo $item["TOURIST_SPOT"]; ?>
</div>
</div>
</h2>
</div>
<div class="ui right floated header">
<i class="ellipsis vertical icon iti-mini"></i>
</div>
</div>
<div class="ui divider"></div>
<?php
$total_quantity += $item["quantity"];
?>
<form action ="checkprice.php">
<input type = "text" name = "destinationID" value = "<?php echo $item["code"];?>">
<?php
}
?>
</div>
<?php
} else {
?>
<div class="no-records">Your Tour Destination is Empty</div>
<?php
}
?>
</div>
И это мой URL с другой страницы. В этом представлении выбранный пункт назначения отображается в URL, но не на странице.