Проблема с сессией PHP - PullRequest
       1

Проблема с сессией PHP

0 голосов
/ 11 ноября 2010

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

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /**************/index.php:5) in /**************/session.php on line 2

это мое содержимое файла session.php:

<?php
session_start();

if( (( !isset($_SESSION['user']) ) ) || ( !isset($_SESSION['valid']) ) || ( $_SESSION['valid'] != -1 && $_SESSION['valid'] != 0 && $_SESSION['valid'] != 1 ) )
$_SESSION['valid'] = 0;

function destroy_session()
{
    session_destroy();
}
?>

И мне нужно срочно решить это!

Ответы [ 2 ]

2 голосов
/ 11 ноября 2010

В сообщении об ошибке указывается, где был запущен вывод

output started at /**************/index.php:5

Либо вызовите session_start() до того, как произойдет вывод (предпочтительно), либо используйте буферизацию вывода (менее предпочтительно)

Изменить: Если вы не знали о причине этой ошибки, прочитайте страницу справки PHP header()

Помните, что header () должна вызываться перед отправкой любого фактического вывода, либо обычными тегами HTML, пустыми строками в файле, либо из PHP. Это очень распространенная ошибка - читать код с помощью функций include () или require (), или другой функции доступа к файлу, и иметь пробелы или пустые строки, которые выводятся до вызова header (). Та же проблема существует при использовании одного файла PHP / HTML.

1 голос
/ 11 ноября 2010

Похоже, вам нужно включить этот файл ранее в ваш код.Прежде всего, перед выводом любого HTML или контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...