2013-04-03 36 views
0

我有一个下拉列表中的一个页面上选择代码:传递变量从第一页到第三页PHP

print "Select week for season 1: <select name='Week_select'> <br>"; 

在第2页我有

$varWeek=$_POST['Week_select']; 

然后另一个下拉列表:

print "Select a team that played season 1and week $varWeek: <select name='Team_select'><br>"; 

到目前为止这么好,非常感谢所有让我这么远的人。

现在,当我去到3页,我输了$ varWeek

我看到,我要么使用$ _GET或把它作为隐藏。 我试过$varWeek=$_GET['Week_select']; 但没有奏效。

我不确定如何通过它隐藏。请帮助我多了解一点。 提前

回答

0

更好的方法是将这些变量注册为会话变量。这样他们将不会显示在URL中,您将可以在多个页面上访问它们。有一个在这里读到:

http://www.php.net/manual/en/intro.session.php

您可以访问/存储这样的会话变量:

$_SESSION['varname'] = 'value'; 

,并在另一页上

var_dump($_SESSION['varname']); 
+0

这次会议似乎很好。 – 2013-04-04 19:50:17

+0

这届会议的事情似乎不错。那么我只是在第一页的任何地方做Session_start()?然后在提交按钮之前告诉它$ _SESSION ['varWeek'] ='week_select'。我需要以某种方式注册每个页面到会话吗?如何添加其他变量来传送其他输入,例如团队,玩家。 – 2013-04-04 20:02:02

+0

不错的阅读,仍然无法得到我想要的。我已经发布了另一个问题[HERE](http://stackoverflow.com/questions/15962443/need-more-detail-tying-in-session-start-to-a-select-statement)作为跟进 – 2013-04-12 03:26:58

0

非常感谢添加变量到表单中,像你说的,作为一个隐藏字段,就像这样:

print '<input type="hidden" name="Week_select" value="'. $_GET['Week_select'] .'" />'; 

然后处理表单的页面上,变量将可用$_POST['Week_select']

+0

这是脆弱的HTML注入攻击(XSS )。 – Eevee 2013-04-04 00:07:26

+0

这是真的。一个好主意是将Week值作为一个整数传递,并将该变量传递给intval:'intval($ _ GET ['Week_select'])' – 2013-04-04 18:47:35

+0

或使用模板系统,让您不必担心这个问题 – Eevee 2013-04-04 23:54:30

相关问题