【发布时间】:2011-06-26 14:47:48
【问题描述】:
我有两个文件;逻辑是这样的,如果会话开始,我必须运行一段代码,如果它没有设置,那么我必须运行 else 部分。无论如何,我需要将页面扔到自己身上。这是我的第一个文件
第一个文件 (file1.php)
<?php
require_once('file2.php');
if(isset($_SESSION))
echo '<br>Session set!';
else
{
//echo '<br>Session NOT set...';
sessStart();
header("Location:file1.php");
}
?>
第二个文件 (file2.php)
<?php
function sessStart()
{
session_start();
//some other code here but nothing that echo's
}
?>
我在这里做的是在第一次运行时调用 sessStart() 方法来初始化 else 部分中的会话。下次它不应该进入 if 部分,而应该进入 else 部分。
不知何故,代码不会将文件重定向到同一个文件,并且设置会话的部分没有初始化。如果我在第二个文件中的会话中存储某些内容,我可以在第一个文件中检索它,以便成功启动会话但如何重定向?
我做错了什么?
【问题讨论】:
-
等待您尝试重定向到 file1.php 本身。所以没有任何东西被重定向
-
嗯,我必须做什么才能完成这项工作?
-
为什么不把
session_start();放在 file1.php 的顶部而忘记重定向 -
问题是“如何将页面重定向到 php 中的同一页面”还是“如何使会话正常工作”?
-
脚本中有 ob_start ob_flush 吗?
标签: php session header redirect