php - 使用Cookie或其他方式恢复控制PH​​P变量的下拉列表框的状态

标签 php cookies drop-down-menu youtube

好吧,要明确一点,我对php的了解非常有限。现在,我正在尝试制作一个脚本,该脚本使用其api根据观看次数,国家/地区和类别(例如here)生成随机的youtube视频。我设法得到一个工作下拉列表,以选择视频必须显示的最少观看次数-它的工作非常好(下一个尝试使其他两个工作),但是问题是我不知道如何制作页面刷新后,下拉列表将保留选定的值。该功能非常重要,因为我希望能够选择最少的 View 并将其保持在该数量,直到我从下拉列表中选择一个 View 为止。我真的不知道使用什么方法,请帮帮我。我也将$views的初始值设置为0 + $_REQUEST['views'].,因为它稍后是链接的一部分,因此它必须是数字。您是否有解决此问题的更好方法?
如果要查看,请this is a link到测试站点,并且代码如下:

<body>
<?php 
$views = 0 + $_REQUEST['views'];
$countries = "ES-US";
$category = "Comedy"; ?>


<div id="viewsdropdown">

<p>
View videos with
  <form name="views" method="POST" action="random.php">
        <select name='views' onChange='document.views.submit()'>
             <option selected value='0'>0</option>
             <option  value='50'>50</option>
             <option  value='100'>100</option>
             <option  value='500'>500</option>
             <option  value='5000'>5,000</option>
             <option  value='35000'>35,000</option>
             <option  value='75000'>75,000</option>
             <option  value='125000'>125,000</option>
             <option  value='150000'>150,000</option>
             <option  value='250000'>250,000</option>
             <option  value='500000'>500,000</option>
             <option  value='1000000'>1,000,000</option>
             <option  value='3000000'>3,000,000</option>
             <option  value='5000000'>5,000,000</option>
             <option  value='10000000'>10,000,000</option>
             <option  value='15000000'>15,000,000</option>
             <option  value='20000000'>20,000,000</option>
    </select>
        </form>
  <p>views or more
  </p>

</div>

<div id="videocenter">
  <?php


$url = "http://flyhour.tv/bots/api/index.php?type=2&countries=".$countries."&category=".$category."&views=".$views;



$file = $url;



echo $file

?>
</div>

</body>
</html> 

编辑的代码:
<body>
<?php 
$views = (int) $_POST['views'];
$countries = "ES-US";
$category = "Comedy"; ?>
<div id="viewsdropdown">

<p>
View videos with
  <form name="views" method="POST" action="random.php">
        <select name='views' onChange='document.views.submit()'>
            <? $views_options = array (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 . '"' . ($_POST['views']==35000 ? ' selected="selected"' : '') . '>' . number_format($number_of_views) . '</option>';
}?>
    </select>
        </form>
  <p>views or more
  </p>

</div>

<div id="videocenter">
  <?php


$url = "http://flyhour.tv/bots/api/index.php?type=2&countries=".$countries."&category=".$category."&views=".$views;



$file = $url;

最佳答案

对于每个“选项”行,添加以下PHP脚本:

<option  value='35000'<?= $_POST['views']==35000 ? ' selected="selected" : '' ?>>35,000</option>

更好的是,您可以将整个块更改为如下所示:
$views_options = array (50, 100, 500, 5000, 35000, 75000, 125000);

foreach($views_options as $number_of_views) {
    echo '<option value="' . $number_of_views . '"' . ($_POST['views']==35000 ? ' selected="selected"' : '') . '>' . number_format($number_of_views) . '</option>';
}

关于php - 使用Cookie或其他方式恢复控制PH​​P变量的下拉列表框的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8488954/

相关文章:

php - 嵌套的 PHP 是否包含 CPU/内存密集型?

php - CodeIgniter 无法显示数据库中的数据

php - 在选择框中保留所选值

ruby-on-rails-3 - 如何将数组存储到Cookie中?

Javascript 下拉菜单在 Dart 模板中不起作用

html - CSS:设置下拉菜单列表的样式,但链接样式不会从主导航样式改变

php - 为 "remember me"功能设置 cookie 的最安全方法

php - 如何通过publish_post钩子(Hook)获取在wordpress上发布的帖子数据?

flutter - 与 React 中的 Axios 'withCredentials' 相比,Flutter Dio/http 中用于处理基于 Cookie 的身份验证请求的等效代码是什么?

JavaScript:设置 cookie 不起作用