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



嗨,我有三个步骤的表单php页面,Form1用户将填写数据并将此变量带到Form2页面,并执行数据库{Insert,Update}。Form2再次将用户填写的变量和Form1变量传递给form3。我的问题是如何将Form1变量传给form3。

Form2

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

然后Perfrom Database Select并将结果显示给Form2。用户选择并填写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方法。

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

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

在使用会话之前,您必须始终致电session_start。假设在处理完第三个表单后不需要保留数据,那么session_destroy值得一看。但是无论如何,在会话中存储数据之后,只要会话有效,id值就会对您可用。有关会话的详细信息,请查看手册
你也可以用饼干。由于您使用的是GET,我认为您无论如何都不会传递任何敏感或关键的数据,所以setcookie也可以完成这项工作。请参阅使用$_COOKIE超级全局的值。

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

和往常一样,如果我没有链接到我提到的所有函数,只需转到http://www.php.net/<functionName>了解详细信息

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

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

您应该在使用会话之前启动会话。

在表单1页面中分配会话变量,如

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

并访问表单2中的会话变量,如

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

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

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

相关内容

  • 没有找到相关文章

最新更新