。我有三个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上的我只需使用$_POST['batch']; and $_POST['dept'];
但我接下来要做的是将batch和dept的值从page2.php传递给page3.php。或者从page1.php到page2.php,因为我认为它是一样的。
。帮助吧!谢谢你
@ kjy112 - 我很困惑,因为我正在使用
<form method="post">
我应该使用以下内容在page2.php上开始我的会话:
session_start();
$_SESSION['batch'] = $_POST['batch'];
$_SESSION['dept'] = $_POST['dept'];
然后使用
session_start();
$batch = $_SESSION['batch'];
在page3.php上使用它?
答案 0 :(得分:3)
Per @Crayon Violent:要使用基于cookie的会话,必须在向浏览器输出任何内容之前调用session_start()。
您需要使用PHP SESSION,您可以这样设置/设置:
// 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
答案 1 :(得分:1)
使用会话变量。
答案 2 :(得分:0)
您可以将$ _POST值保存到$ _SESSION变量:
$_SESSION['POST'] = $_POST;
答案 3 :(得分:0)
将值从一个脚本移动到另一个脚本的一种方法是使用session,而不用担心按什么顺序访问哪个脚本。
当您的脚本启动时,您打开会话。这可以让你访问$ _SESSION超全局,比如$ _POST。您可以在一个脚本中写入$ _SESSION数组,然后在另一个脚本中读取它。这些都在服务器上处理,因此您可以将所需的任何数据存储到会话中,而无需担心用户看到此数据。它非常有用,通常用于多部分表单,具有登录功能的站点,以及在用户访问的页面上跟踪用户选择。
答案 4 :(得分:0)
回答评论中的问题
在输出之前必须调用session_start()是什么意思 什么东西到浏览器?
表示最好将session_start()直接放在<?php
之后
与<?php session_start();
类似,并确保php起始标记不在<html>
标记之后。
如果我的目的是在SQL上使用批处理和部门,这也会起作用 疑问?
是的,当然,只需在$_SESSION['']
变量中设置所有参数(sql,dept)。