0

用户将单击一个链接,该链接将打开一个新页面(下面的代码)。我的问题是,当打开这个新页面时,它会创建一个新的会话 ID。我该如何阻止这种情况发生?

require_once('../../config.php');    //Database connection details
require_once('../../connect.php');   //Connect to database

session_start();  <----------- HERE


if(isset($_GET['id'])) 
{

$id = $_GET['id'];
$tbl_uploads = $_SESSION['COMPANY_ID'].'_uploads';

$query = "SELECT username, type, size, content FROM $tbl_uploads WHERE id = '$id'";

$result = mysql_query($query) or die('Error, query failed');
list($username, $type, $size, $content) = mysql_fetch_array($result);

header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: inline; filename=$username");
echo $content;

mysql_close($link);
exit;
}
4

5 回答 5

2

任何必需的文件实际上都会发送任何输出。如果是这样, session_start() 应该在他们之前。

于 2010-02-19T17:38:25.823 回答
1

确保你在文件的第一行 error_reporting(E_ALL);

我认为您在这里遇到了其他错误, session_start() 不应该影响这一点。

于 2010-02-19T16:44:38.307 回答
0

session_start() might be the problem. When you start a session it should make a session ID. That is the way it seems to me anyway. Could you include the code for session_start()?

于 2010-02-19T17:45:09.583 回答
0

你为什么不试试这个:

$sid = session_id();
if ($sid == ""){ 
       //Session should be created
       session_start();
}//else Session already exists
于 2010-02-19T20:13:26.847 回答
0

真的$_GET['id']设置了吗?在该首字母上打一个else子句,if如果不是,则吐出某种错误。也许有什么东西把你的点击变成了一个帖子。

于 2010-02-19T17:15:38.003 回答