2014-01-29 27 views
0

好吧,我不完全确定为什么这不起作用,但任何见解都会有所帮助。我使用php作为后端,它分布在多个页面上,因此我的想法是使用php会话来帮助用户同步数据,以便在页面之间使用数据库中的数据(不会将所有表单数据存储在会议) 所以我有形式的首节过后这段代码已在数据库中输入php会话不在页面之间转移

session_start(); 
    $_SESSION["session_id"]=$this_session; 
include 'form-page-2.php'; 

其中$ this_session只是在PHP microtime中的邮票; 然后在表单页面2.PHP处理输入数据时,我用它来尝试并获得这个信息回:

$this_session = $_SESSION["session_id"]; 

,我得到的错误Notice: Undefined variable: _SESSION in C:\wamp\www\Karen-forms\form-page-2.php on line 30但是如果我做了vardump($_SESSION);上我得到预期的值我希望

array (size=1) 
    'session_id' => string '1390976355.1481' (length=15)` 

所以如何cqan我正确地拔出SESSION_ID一个表单页面2.PHP尽可能清楚我doiing一些错误只是不确定什么 任何帮助,将不胜感激

+0

什么线没有30? –

+3

将'session_start();'放在该文件的顶部。 – Rikesh

+0

session_start();应该是您想要获取或设置任何会话变量的所有页面上的第一行代码 – Hassan

回答

1

您应该在使用会话的所有页面的顶部调用功能session_start()

当session_start()被调用或者会话自动启动时,PHP会调用open和read会话保存处理程序。这些将会是 默认提供的内置保存处理程序或PHP扩展(如SQLite或Memcached的 );或者可以是由 session_set_save_handler()定义的自定义处理程序。读取回调将检索任何 现有会话数据(以特殊的序列化格式存储),并且 将被解序列化并用于在读取回调将保存的会话数据返回 返回到PHP会话处理时自动填充超全局$ _SESSION 。

来源:http://tr2.php.net/manual/en/function.session-start.php