Post 记住多个dropbox PHP变量吗

Post 记住多个dropbox PHP变量吗,post,cookies,drop-down-menu,get,Post,Cookies,Drop Down Menu,Get,我需要为视频创建一种flter。一个下拉框选择视图数,另一个下拉框选择类别。在这个网站上的好人的帮助下,我成功地创建了液滴列表,但我不知道如何让他们“记住”这两个数据——当从一个液滴列表中选择一个值时,另一个液滴列表将重置。我该怎么做 代码如下: <?php $views = (int) $_GET['views']; $countries = "US"; $category =$_GET['category']; ?> <div id="views"> <p&

我需要为视频创建一种flter。一个下拉框选择视图数,另一个下拉框选择类别。在这个网站上的好人的帮助下,我成功地创建了液滴列表,但我不知道如何让他们“记住”这两个数据——当从一个液滴列表中选择一个值时,另一个液滴列表将重置。我该怎么做

代码如下:

<?php 
$views = (int) $_GET['views'];
$countries = "US";
$category =$_GET['category']; ?>
<div id="views">

<p>
View videos with
  <form name="views" method="GET" action="random.php">
        <select name='views' onChange='document.views.submit()'>
            <? $views_options = array (0, 50, 100, 500, 5000, 35000, 75000, 125000, 150000, 250000, 500000, 1000000, 3000000, 5000000, 10000000, 15000000, 20000000);

foreach($views_options as $number_of_views) {
   echo '<option value="' . $number_of_views . '"' . ($_GET['views']==$number_of_views ? ' selected="selected"' : '') . '>' . number_format($number_of_views) . '</option>';
}
?>
    </select>
        </form>
  <p>views or more
  </p>

</div>

<div id="category">

<p>
Category:
  <form name="category" method="GET" action="random.php">
        <select name='category' onChange='document.category.submit()'>
            <? $category_options = array ("All", "Games", "Film", "Animals", "Travel", "Sports", "Education", "News", "Shows", "People", "Technology", "Comedy", "Entertainment", "Music", "Howto", "Autos", "Nonprofit");

foreach($category_options as $category_select) {
   echo '<option value="' . $category_select . '"' . ($_GET['category']==$category_select ? ' selected="selected"' : '') . '>' . $category_select . '</option>';
}?>
    </select>
        </form>


使用查看视频
视图或更多

类别:
我想你不需要两个单独的表单

将两个表单合并为一个表单,这样它应该可以工作:

<?php 
$views = (int) $_GET['views'];
$countries = "US";
$category =$_GET['category']; ?>
<div id="views">

<p>
View videos with
  <form name="views" method="GET" action="random.php">
        <select name='views' onChange='document.views.submit()'>
            <? $views_options = array (0, 50, 100, 500, 5000, 35000, 75000, 125000, 150000, 250000, 500000, 1000000, 3000000, 5000000, 10000000, 15000000, 20000000);

foreach($views_options as $number_of_views) {
   echo '<option value="' . $number_of_views . '"' . ($_GET['views']==$number_of_views ? ' selected="selected"' : '') . '>' . number_format($number_of_views) . '</option>';
}
?>
    </select>
  <p>views or more
  </p>

</div>

<div id="category">

<p>
Category:
        <select name='category' onChange='document.views.submit()'>
            <? $category_options = array ("All", "Games", "Film", "Animals", "Travel", "Sports", "Education", "News", "Shows", "People", "Technology", "Comedy", "Entertainment", "Music", "Howto", "Autos", "Nonprofit");

foreach($category_options as $category_select) {
   echo '<option value="' . $category_select . '"' . ($_GET['category']==$category_select ? ' selected="selected"' : '') . '>' . $category_select . '</option>';
}?>
    </select>
        </form>


使用查看视频
视图或更多

类别:
因为您使用了两个表单,所以只有一个下拉列表被提交(例如,您提交了类别,下拉列表“视图”将为空(您使用的是get方法,您将在URL中看到)


如果您真的需要这两个单独的表单,则必须将变量保存到PHP会话中。

谢谢,效果很好。你能再告诉我一件事吗。我还计划添加一个复选框表单来过滤国家,它将有一个提交按钮,因为我希望能够在提交前检查多个值。我还希望下拉列表保留其自动提交功能。不使用会话就可以容纳这样的内容吗?当然可以。只需将它们添加到您已有的表单中即可。这里的缺点是,如果更改下拉列表,复选框也会被提交,这不是什么大问题。再次感谢您抽出时间帮助一个noob