Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Warning: session_start(): Cannot send session cache limiter - headers already sent

Сообщения:  [1-8] 

 
 автор: CRazych   (27.12.2006 в 01:06)   письмо автору
 
   для: cheops   (27.12.2006 в 00:56)
 

Уже никак, всё заработало само сабой.

   
 
 автор: cheops   (27.12.2006 в 00:56)   письмо автору
 
   для: CRazych   (27.12.2006 в 00:50)
 

Как выглядит сообщение об ошибке при обращении непосредственно к этому файлу?

   
 
 автор: CRazych   (27.12.2006 в 00:50)   письмо автору
 
   для: cheops   (27.12.2006 в 00:47)
 

Включатся то включается. Только эта ошибка возникает, также и при прямом обращении к этому файлу. Пробелов которые передавались бы браузеру до старта сессии нету.

   
 
 автор: cheops   (27.12.2006 в 00:47)   письмо автору
 
   для: CRazych   (26.12.2006 в 23:05)
 

1) Нет ли пробела или перевода строки до <?php
2) Не включается ли этот скрипт при помощи include() в другой скрипт?

   
 
 автор: CRazych   (26.12.2006 в 23:05)   письмо автору
 
   для: cheops   (26.12.2006 в 13:16)
 

Помойму ничего тут не предается до старта сесии.

Вот собсно сам код. (моя вторая попытка написать авторизацию )


<?php
@session_start();
//конфиг к базе
require_once("conf.php");
// если сесии нету
if(empty($_SESSION['login']))
{
     
//принимаем данные от формы
    
if ($_POST['login'] & $_POST['pwd'])
    {
        
$_SESSION['login'] = strtolower(mysql_escape_string($_POST['login']));
        
$_SESSION['pwd'] = strtolower(mysql_escape_string($_POST['pwd']));
    }
    else 
// если нет ни сесии ни передачи даных от формы
    
{

        die(require_once(
"login.php"));
    }
}
//если сессия есть

$login=$_SESSION['login'];
$password=MD5($_SESSION['pwd']);

//проверяем на правельность логин и пароль
        
$link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) or die("Не магу приконектиться к базе данных"mysql_error());
        
mysql_select_db($mysql_bd$link);
        
$sql "SELECT * FROM users WHERE Login = '$login' AND Passwd = '$password'";
        
$result=mysql_query($sql) or die("Неправельный запрос " mysql_error());
        if (
mysql_num_rows($result)== false)
        
//если он не правельный
            
{
             
session_destroy();
             echo 
"Пароль не правельный";
             die(require_once( 
"login.php"));
            }

?>

   
 
 автор: cheops   (26.12.2006 в 13:16)   письмо автору
 
   для: CRazych   (26.12.2006 в 04:42)
 

Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/group/id_group=12
http://www.softtime.ru/forum/ead.php?id_forum=1&id_theme=147
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
Вы можете также включить буфферизацию, если имеете доступ к конфигурационному файлу php.ini
output_buffering = On  


http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8484

   
 
 автор: Shiva   (26.12.2006 в 04:59)   письмо автору
 
   для: CRazych   (26.12.2006 в 04:42)
 

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

   
 
 автор: CRazych   (26.12.2006 в 04:42)   письмо автору
 
 

Что это значит?


Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/technot8/public_html/prom/conf.php:14) in /home/technot8/public_html/prom/aut.php on line 2

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования