【问题标题】:get a selection from a dropdown list assigned to a variable PHP从分配给变量 PHP 的下拉列表中获取选择
【发布时间】:2013-04-12 12:44:23
【问题描述】:

我知道这很简单,但我就是找不到告诉我如何操作的资源。

所以我的代码如下:

session_start();
$wquery=
"select week_num,week_name
from stats_week
where season=$this_season
order by week_num";
    $wresult=mysql_query($wquery);


print'<form action="changeplayer_2.php" method="post">';


        print"<select name='Week_select'> <br>";
        while ($wrow=mysql_fetch_array($wresult))
    { 
    print '<option value="'.$wrow['week_num'].'">'.'week '.$wrow['week_num'].'     '.$wrow['week_name'].'</option><br>\n';  
    }

print "</select><br><br>";#

    print'<button type="submit" >Next</button>';


    print"</form>";

所以我正在做一个选择: 我希望该选择最终出现在:$_SESSION['week']

【问题讨论】:

  • 你想得到$_SESSION['week']中选定选项的值吗?
  • 如果下拉生成列表 1,2,3,4,5,我选择 3。3 应该放入 $_SESSION 以在其他页面上使用。

标签: php variables drop-down-menu


【解决方案1】:
$_SESSION['week']=$_POST['Week_select'];

【讨论】:

  • 可能是这样的 $_SESSION['week']=isset($_POST['Week_select'])?$_POST['Week_select']:some_default; 顺便说一句,不确定 op 想要那个
  • 这不是一个答案。删除它并将其作为评论发布。否则我会否决你
【解决方案2】:

您可以在提交时通过表单发送数据,或者如果您想在不刷新页面的情况下执行此操作,您可以通过 ajax 执行此操作

比这样设置

$_SESSION['week']=isset($_POST['Week_select'])?$_POST['Week_select']:someDefau‌​lt;

并通过 ajax check this answer 来做到这一点

【讨论】:

  • 你有 21 个,它只需要 20 个,所以我认为你有 .. 只需刷新页面
  • 再次感谢您与我合作。我遇到了一个愚蠢的错误,上传到了错误的目录,所以我所做的更改没有显示出来。无论如何,这里用我自己的话来说是最终的答案:当项目被选中时,它会在 CHANGEPLAYER_2.PHP 中发布。第 1 页需要的只是 SESSION_START()。在第 2 页和其他也有 SESSION_START() 的页面上,您所要做的就是 $varWeek=$_POST['Week_select']。我试图在第一页做作业。这是我对 SELECT 和 POST 如何工作的误解。
【解决方案3】:

在“changeplayer_2.php”文件中,您需要将 POST 值加载到会话中:

session_start();
$_SESSION['week'] = $_POST['Week_select'];

只要您想在关键“周”获取会话的值,只需执行以下操作:

$weekValue = isset($_SESSION['week']) ? $_SESSION['week'] : false;

但是,如果您确实在任何脚本上使用了会话变量,请确保使用 session_start() 启动会话。

要销毁会话变量,您可以这样做:

session_start();
unset($_SESSION['week']);

【讨论】:

  • 不确定如何在评论中发布代码。这是我的第 2 页 session_start(); $_SESSION['week'] = $_POST['Week_select']; $varWeek=$_SESSION['week'] echo '欢迎来到第 #2 页
    '; echo '周数:'.$varWeek;还是没有通过:(
  • POST 变量是否有效?在您的第 2 页,而不是 echo 'week number :'.$varWeek; 尝试 echo 'week number :'.$_POST['Week_select']; 以查看 POST 是否被第 2 页接受。
  • 我正忙于故障排除,因为代码的任何更改都没有显示在页面上,我上传到了错误的目录。 To elaborate a bit on your answer (which makes perfect sense now) when the item is selected it is POSTED in PAGE 1. With SESSION_START() you can then get the POST value and assign it to a variable as you stated on subsequent pages that有 SESSION_START()。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多