Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:将选择元素选项复制到其他页面_Php_Html - Fatal编程技术网

PHP:将选择元素选项复制到其他页面

PHP:将选择元素选项复制到其他页面,php,html,Php,Html,很抱歉,我不知道这个方法叫什么 基本上我在我的主页上有一个表单,然后我在另一个页面上有另一个表单。当用户从select元素中选择一个选项时,我想复制用户在主页上选择的结果 如何做到这一点 到目前为止,我有以下代码: <form class="car-finder-container" method="GET" action="used-cars.php"> <select name="min-price" id="priceMax" class="select

很抱歉,我不知道这个方法叫什么

基本上我在我的主页上有一个表单,然后我在另一个页面上有另一个表单。当用户从select元素中选择一个选项时,我想复制用户在主页上选择的结果

如何做到这一点

到目前为止,我有以下代码:

<form class="car-finder-container" method="GET" action="used-cars.php">
         <select name="min-price" id="priceMax" class="select-box form-control price-min price-selector">
             <option value="min-price">Min price</option><option value="0">£0</option><option value="500">£500</option><option value="1000">£1,000</option><option value="1500">£1,500</option><option value="2000">£2,000</option><option value="2500">£2,500</option><option value="3000">£3,000</option><option value="3500">£3,500</option><option value="4000">£4,000</option><option value="4500">£4,500</option><option value="5000">£5,000</option><option value="5500">£5,500</option><option value="6000">£6,000</option><option value="6500">£6,500</option><option value="7000">£7,000</option><option value="7500">£7,500</option><option value="8000">£8,000</option><option value="8500">£8,500</option><option value="9000">£9,000</option><option value="9500">£9,500</option><option value="10000">£10,000</option><option value="11000">£11,000</option><option value="12000">£12,000</option><option value="13000">£13,000</option><option value="14000">£14,000</option><option value="15000">£15,000</option><option value="16000">£16,000</option><option value="17000">£17,000</option><option value="18000">£18,000</option><option value="19000">£19,000</option><option value="20000">£20,000</option><option value="22500">£22,500</option><option value="25000">£25,000</option><option value="27500">£27,500</option><option value="30000">£30,000</option><option value="35000">£35,000</option><option value="40000">£40,000</option><option value="45000">£45,000</option><option value="50000">£50,000</option><option value="55000">£55,000</option><option value="60000">£60,000</option><option value="65000">£65,000</option><option value="70000">£70,000</option><option value="75000">£75,000</option><option value="100000">£100,000</option><option value="250000">£250,000</option><option value="500000">£500,000</option>
         </select>
         <select name="max-price" id="priceMin" class="select-box form-control price-max price-selector">
             <option value="max-price">Max price</option><option value="0">£0</option><option value="500">£500</option><option value="1000">£1,000</option><option value="1500">£1,500</option><option value="2000">£2,000</option><option value="2500">£2,500</option><option value="3000">£3,000</option><option value="3500">£3,500</option><option value="4000">£4,000</option><option value="4500">£4,500</option><option value="5000">£5,000</option><option value="5500">£5,500</option><option value="6000">£6,000</option><option value="6500">£6,500</option><option value="7000">£7,000</option><option value="7500">£7,500</option><option value="8000">£8,000</option><option value="8500">£8,500</option><option value="9000">£9,000</option><option value="9500">£9,500</option><option value="10000">£10,000</option><option value="11000">£11,000</option><option value="12000">£12,000</option><option value="13000">£13,000</option><option value="14000">£14,000</option><option value="15000">£15,000</option><option value="16000">£16,000</option><option value="17000">£17,000</option><option value="18000">£18,000</option><option value="19000">£19,000</option><option value="20000">£20,000</option><option value="22500">£22,500</option><option value="25000">£25,000</option><option value="27500">£27,500</option><option value="30000">£30,000</option><option value="35000">£35,000</option><option value="40000">£40,000</option><option value="45000">£45,000</option><option value="50000">£50,000</option><option value="55000">£55,000</option><option value="60000">£60,000</option><option value="65000">£65,000</option><option value="70000">£70,000</option><option value="75000">£75,000</option><option value="100000">£100,000</option><option value="250000">£250,000</option><option value="500000">£500,000</option>
         </select>
         <button type="submit" class="btn btn-block car-search-button btn-lg btn-success"><span class="glyphicon car-search-g glyphicon-search"></span> Search cars
         </button>
</form>
然后在我的另一个页面上有相同的表单,除了我添加到此表单的method=GET和action=used-cars.php之外

如何修改我的第二个表单,以显示在第一页上选择的选项,有什么想法吗?

以静态方式:

您必须将他的选择存储在cookie/HTML5WebSQL数据库中

打开主页时,您必须阅读当前选择的选项

以动态的方式: 我相信您需要Ajax和数据库,但我可能错了。

这是最低价格

您必须像这样更改其他值

曲奇:

//php
//POST selection to your server side code then set cookie
$userMin= $_POST['min-price'];
$userMax = $_POST['max-price'];

$cookieData = json_encode(array('min'=>$userMin, 'max'=>$userMax));

//set cookie to be accessed across whole domain. Change '3600'!
setCookie('userSearchPreference', $cookieData, '3600', '/');

//get options on other pages
if (isset($_COOKIE['userSearchPreference']))
{
  $userPreferences = json_decode($_COOKIE['userSearchPreference']);
  //then set the'userMin' value on the frontend
}

当然还有其他方法。希望这有帮助。顺便说一句,如果用户更改其最小/最大价格,您只需重置cookie,它将被新值覆盖。

或者您可以使用会话。除此之外:似乎您已切换了选项的ID。谢谢,尝试使用此选项,但我发现语法错误。知道原因吗?@PeterHardy isset$_COOKIE['userSearchPreference']好的,谢谢,为了确保我正确地使用了此选项,我将所有代码都包含在它自己的PHP文件中,然后,我在表单下面使用一个PHP include将其添加到我的主页和表单的另一个页面。这是正确的吗?@PeterHardy所有到isset的内容都放在PHP文件中,您的搜索表单由该文件处理,因此cookie基本上是在他们搜索时创建的。然后,在每一个需要/想要使用这些搜索参数的页面上检查cookie。你只需要访问它们,比如$userPreferences['min-price']等等。所以我在我的表单代码块下面添加了精确的代码,结果仍然没有保存,你知道为什么会发生这种情况吗?
//php
//POST selection to your server side code then set cookie
$userMin= $_POST['min-price'];
$userMax = $_POST['max-price'];

$cookieData = json_encode(array('min'=>$userMin, 'max'=>$userMax));

//set cookie to be accessed across whole domain. Change '3600'!
setCookie('userSearchPreference', $cookieData, '3600', '/');

//get options on other pages
if (isset($_COOKIE['userSearchPreference']))
{
  $userPreferences = json_decode($_COOKIE['userSearchPreference']);
  //then set the'userMin' value on the frontend
}