将参数从一个php传递到多个php

将参数从一个php传递到多个php,php,Php,.我有三个php页面: page1.php page2.php page3.php 在page1.php中,我有以下代码: <form id="try" method="post" action="page2.php"> Batch: <input id="batch" name="batch" type="text"/><br /> Dept: <input id="dept" name="dept" type="text"><br /&g

.我有三个php页面:

page1.php page2.php page3.php

在page1.php中,我有以下代码:

<form id="try" method="post" action="page2.php">
Batch: <input id="batch" name="batch" type="text"/><br />
Dept: <input id="dept" name="dept" type="text"><br />
<input type="submit" />
</form>
我是否应该使用以下命令在page2.php上启动会话:

session_start();
$_SESSION['batch'] = $_POST['batch'];
$_SESSION['dept'] = $_POST['dept'];
然后使用

session_start();
$batch = $_SESSION['batch'];

要在page3.php上使用它,请使用会话变量

使用会话变量

您可以将$\u POST值保存到$\u会话变量:

$_SESSION['POST'] = $_POST;

您可以将$\u POST值保存到$\u会话变量:

$_SESSION['POST'] = $_POST;

将值从一个脚本移动到另一个脚本的一种方法是使用


脚本启动时,打开会话。这使您可以访问$\u会话超全局,如$\u POST。您可以在一个脚本中写入$\u会话数组,然后在另一个脚本中读取它。这些都是在服务器上处理的,因此您可以将任何需要的数据存储到会话中,而不必担心用户看到这些数据。它非常有用,通常用于多部分表单、具有登录名的站点,并在用户访问的任意多个页面上跟踪用户选择。

将值从一个脚本移动到另一个脚本的一种方法是使用


脚本启动时,打开会话。这使您可以访问$\u会话超全局,如$\u POST。您可以在一个脚本中写入$\u会话数组,然后在另一个脚本中读取它。这些都是在服务器上处理的,因此您可以将任何需要的数据存储到会话中,而不必担心用户看到这些数据。它非常有用,通常用于多部分表单、具有登录名的站点,并在用户访问的任意页面上跟踪用户选择。

Per@Crayon:to使用基于cookie的会话,在将任何内容输出到浏览器之前必须调用session_start()

您将需要使用您可以获得/设置如下:

// page1.php

session_start();
$_SESSION['myvar'] = 'test';

//page2.php

session_start();
$myvar = $_SESSION['myvar'];
echo $myvar; //should be test;

//page3.php
session_start();
echo $_SESSION['myvar']; //should give u test still

Per@Crayon暴力:要使用基于cookie的会话,必须在将任何内容输出到浏览器之前调用会话_start()

您将需要使用您可以获得/设置如下:

// page1.php

session_start();
$_SESSION['myvar'] = 'test';

//page2.php

session_start();
$myvar = $_SESSION['myvar'];
echo $myvar; //should be test;

//page3.php
session_start();
echo $_SESSION['myvar']; //should give u test still

只是在评论中回答问题

输出前必须调用session_start()是什么意思 浏览器有什么问题吗


这意味着最好的做法是将session_start()直接放在
后面,只是在注释中回答问题

输出前必须调用session_start()是什么意思 浏览器有什么问题吗


意思是最好的做法是将session_start()直接放在
之后,需要注意的一点是session_start()必须放在任何输出之前,即使是您想使用它的所有页面上的空格(除非您想使用输出缓冲,而您不应该这样做),请再次检查我的问题,我有一个问题。tnx!需要注意的一点是,session_start()必须在任何输出之前出现,即使是您想要使用它的所有页面上的空白(除非您想使用输出缓冲,您无论如何都不应该这样做),请您再次检查我的问题,我有一个以下问题。tnx!如果您在会话中设置它,它应该可以工作。只要您确保
session\u start()
。好的,还有一个问题,您所说的session\u start()在输出到浏览器之前必须被调用是什么意思?如果我的目的是在SQL查询中使用batch和dept,这也可以吗?我不熟悉在SQL查询中使用带有batch和dept的会话(你说的dept是什么意思?)。至于会话\u start,
要使用基于cookie的会话,必须在向浏览器输出任何内容之前调用会话\u start()。
基本上确保在使用会话之前调用它,并确保它位于页面顶部。如果在会话中设置它,它应该可以工作。只要您确保
session\u start()
。好的,还有一个问题,您所说的session\u start()在输出到浏览器之前必须被调用是什么意思?如果我的目的是在SQL查询中使用batch和dept,这也可以吗?我不熟悉在SQL查询中使用带有batch和dept的会话(你说的dept是什么意思?)。至于会话启动,
要使用基于cookie的会话,在将任何内容输出到浏览器之前必须调用会话启动()。
基本上确保在使用会话之前调用它,并确保它位于页面顶部。这是否意味着我可以使用类似会话启动()的功能$_会话['batch']=$_POST['batch']$_会话['dept']=$_POST['dept'];。这是否意味着我可以使用session_start()之类的工具$_会话['batch']=$_POST['batch']$_会话['dept']=$_POST['dept'];