Переменные сессии PHP

Пользователь нажимает на ссылку, которая откроет новую страницу (код ниже). Моя проблема в том, что, когда эта новая страница открыта, она создает новый идентификатор сессии. Как я могу предотвратить это?

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;
}

5 ответов

Любой из обязательных файлов фактически отправляет любой вывод. Если это так, session_start() должен идти перед ними.

Убедитесь, что у вас есть в первой строке файлаerror_reporting(E_ALL);

Я думаю, что у вас есть другая ошибка здесь, session_start() не должен влиять на это.

Почему бы вам не попробовать это:

$sid = session_id();
if ($sid == ""){ 
       //Session should be created
       session_start();
}//else Session already exists

session_start() может быть проблемой. Когда вы начинаете сеанс, он должен сделать идентификатор сеанса. В любом случае, мне так кажется. Не могли бы вы включить код для session_start()?

Является $_GET['id'] на самом деле установлен? Пощечина else пункт об этом начальном if и выложить ошибку какого-то рода, если это не так. Возможно, что-то превращает ваш щелчок в ПОЧТУ.

Другие вопросы по тегам