如何从另一个php页面调用php变量

时间:2013-08-06 12:41:15

标签: php database global-variables session-variables

您好我有三步形式的php页面,Form1用户将填写数据并将此变量携带到Form2页面并执行数据库{Ins​​ert,Update}。再次使用Form2传递用户填写的变量以及Form1变量到form3.My的问题是如何将Form1变量传递给Form3。

窗体2

//variable from Form1
$calendar_id_val = $_GET['calendar_id']; 
$calendar_name = $_GET['$calendar_choose_name'];
$calendar_type = $_GET['calendar_type'];

然后Perfrom Database选择并将结果显示给Form2.A用户选择并填写form2。将变量传递给Form3。

Form3

$current_month =  $_GET['month']; //Variable from Form2

我尝试使用SESSION调用Form1变量

$_SESSION['calendar_id_val'] = $_GET["calendar_id_val"];
$calendar_id = $_SESSION['calendar_id_val'] ; 

但它不起作用。如何从Form3调用Form1变量。我使用了GET方法。

4 个答案:

答案 0 :(得分:0)

您似乎并不完全了解变量在内存中保留多长时间。在PHP中,一旦脚本完成,该脚本分配的每个内存都将被释放,因此$calendar_id_val不再在内存中。
如果您想在下一个用户发布表单时使用表单中的值(下一个请求),那么您已经在中途,请尝试:

session_start();
$calendar_id_val = $_GET['calendar_id'];
$_SESSION['calendar_id_val'] = $calender_id_val;

在使用会话之前,您必须始终致电session_start。假设在处理完第三个表单后没有必要保留数据,session_destroy值得一看。但无论如何,在会话中存储数据后,只要会话有效,就可以使用id值。 check the manual for more on sessions
你也可以使用cookie。既然你正在使用GET,我认为你无论如何都没有传递任何敏感或关键数据,so setcookie也可以做到这一点。请使用$_COOKIE super-global参考值,然后使用。

请注意,建议使用Sessions,因为会话存储数据服务器端,而cookie存储在客户端的计算机上。这使得它们易受攻击(可以调整)并且不可靠(客户端可以禁用/拒绝您的cookie)

与往常一样,如果我没有链接到我提到的所有功能,请转到http://www.php.net/<functionName>了解详情

答案 1 :(得分:0)

session_start();放入页面顶部的第1行第1列

session_start();
$calendar_id_val = $_GET['calendar_id'];
$_SESSION['calendar_id_val'] = $calender_id_val;

答案 2 :(得分:0)

您应该在使用之前开始会话。

在form1页面中分配会话变量,如此

session_start();
$_SESSION['calendar_id_val'] = $_GET["calendar_id_val"];
$calendar_id = $_SESSION['calendar_id_val'] ; 

并像这样访问form2页面中的会话变量

session_start();
echo $_SESSION['calendar_id_val'];

答案 3 :(得分:-2)

您可以尝试将其声明为全局。

global $a;
$a = $_GET['really'];