Javascript Php将多个参数发送到另一个页面
我有一个创建行程的项目。所有可用的目的地都列在我的右面板上,可以通过单击按钮进行选择。用户选择所需目的地后,它将显示在同一页面的我的右面板上,在该部分中,一切都很好。我还使用会话成功地将所选目标值传递到url中,但当我即将在另一个页面上显示它时,我得到的是所选目标的唯一最后一个值。有人知道解决方案或解决方法吗?任何帮助都将不胜感激。提前谢谢你 下面是我的项目截图和代码供您参考 这是我的右面板视图,用户可以在其中选择目的地Javascript Php将多个参数发送到另一个页面,javascript,php,html,json,ajax,Javascript,Php,Html,Json,Ajax,我有一个创建行程的项目。所有可用的目的地都列在我的右面板上,可以通过单击按钮进行选择。用户选择所需目的地后,它将显示在同一页面的我的右面板上,在该部分中,一切都很好。我还使用会话成功地将所选目标值传递到url中,但当我即将在另一个页面上显示它时,我得到的是所选目标的唯一最后一个值。有人知道解决方案或解决方法吗?任何帮助都将不胜感激。提前谢谢你 下面是我的项目截图和代码供您参考 这是我的右面板视图,用户可以在其中选择目的地 <?php session_start(); if(!empty($
<?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;
}
}
?>
这是我选择目的地的代码
<?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;
}
}
?>
你可以使用explode()来帮助你
$url\u array=explode('/',$\u服务器['REQUEST\u URI']);
$url=end($url\u数组)代码>你可以使用explode()来帮助你
$url\u array=explode('/',$\u服务器['REQUEST\u URI']);
$url=end($url\u数组)代码>parse_str()函数可用于立即获取URI参数。
更多细节可以在这里找到。
此外,上述参数还可以通过以下代码直接分配给变量
<?php extract(parse_str($_GET)); ?>
<?php echo $param1; ?>
使用此选项,您可以直接检查get参数并打印其值
例如,如果url为
您可以使用以下代码直接打印param1的值
<?php extract(parse_str($_GET)); ?>
<?php echo $param1; ?>
parse_str()函数可用于立即获取URI参数。
更多细节可以在这里找到。
此外,上述参数还可以通过以下代码直接分配给变量
<?php extract(parse_str($_GET)); ?>
<?php echo $param1; ?>
使用此选项,您可以直接检查get参数并打印其值
例如,如果url为
您可以使用以下代码直接打印param1的值
<?php extract(parse_str($_GET)); ?>
<?php echo $param1; ?>
PHP会覆盖相同名称的GET参数,除非您在名称中使用[]
来创建数组-?foo[]=value1&foo[]=value2&…
@04FS谢谢您的建议,先生。还想问一下,我要选择目的地并显示在另一部分而不刷新页面吗?谢谢PHP会覆盖相同名称的GET参数,除非您在名称中使用[]
来创建数组-?foo[]=value1&foo[]=value2&…
@04FS谢谢您的建议,先生。还想问一下,我要选择目的地并显示在另一部分而不刷新页面吗?谢谢你的建议,先生。还想问一下,我要选择目的地并显示在另一部分而不刷新页面吗?谢谢你的建议,先生。还想问一下,我要选择目的地并显示在另一部分而不刷新页面吗?谢谢你的建议,先生。还想问一下,我要选择目的地并显示在另一部分而不刷新页面吗?谢谢,只要用户请求php页面,您就可以获取url作为字符串。你可以在上一页抓取它,在下一页添加参数。你能详细说明一下吗?我的意思是,在没有页面刷新的情况下,我将如何处理点击的页面按钮?谢谢你,你不需要,php需要。当用户点击www.example.com/home时?你让他选择目的地等,然后当他进入下一页时,你可以在通过会话打开新页面时抓取这些项目,或者使用来自服务器的请求uri,然后分解成数组。uri会在没有www.example.com/home的情况下获取顶部的内容?这里有一个关于globals的链接,谢谢您的建议,先生。还想问一下,我要选择目的地并显示在另一部分而不刷新页面吗?谢谢,只要用户请求php页面,您就可以获取url作为字符串。你可以在上一页抓取它,在下一页添加参数。你能详细说明一下吗?我的意思是,在没有页面刷新的情况下,我将如何处理点击的页面按钮?谢谢你,你不需要,php需要。当用户点击www.example.com/home时?你让他选择目的地等,然后当他进入下一页时,你可以在通过会话打开新页面时抓取这些项目,或者使用来自服务器的请求uri,然后分解成数组。uri会在没有www.example.com/home的情况下获取顶部的内容?这里有一个关于globals的链接