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

Форум PHP

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

 

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

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

тема: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

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

 
 автор: cheops   (13.07.2006 в 01:06)   письмо автору
 
   для: xenux   (12.07.2006 в 23:07)
 

Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.

http://www.softtime.ru/group/id_group=12

   
 
 автор: Vit-j   (12.07.2006 в 23:32)   письмо автору
 
   для: CrazyAngel   (12.07.2006 в 23:10)
 

Не знаю особо в код не вглядывался(лень:) ) но у меня есть такое предположение... в саааамом начале странички


 session_start(); //не помню пральна написал или нет:)


воще стоит ли старт сесси в начале кода?

   
 
 автор: CrazyAngel   (12.07.2006 в 23:10)   письмо автору
 
   для: xenux   (12.07.2006 в 23:07)
 

Надо работать с сесиями/куками до вывода чего-либо на экран, так как они используют заголовки

еще можно включить буферизацию функцией

ob_start();


либо в php.ini

   
 
 автор: xenux   (12.07.2006 в 23:07)   письмо автору
 
 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/Lsdxxx/domains/sdxxx.lithit-host.net/public_html/los/openDB.php:1) in /home/Lsdxxx/domains/sdxxx.lithit-host.net/public_html/los/login_script.php on line 39

opendb.php

 <?php 
/* $server="localhost";
$user="Lsdxxx";
$pass="tusaz666";
$dbname="Lsdxxx_new";
$sesDB = mysql_connect($server,$user,$pass);
mysql_select_db($dbname);
 */
?> 
<?
 
// Это файл handler.php 
    // Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru" 
    // сейчас выставлен сервер локальной машины 
    
$dblocation "localhost"
    
// Имя базы данных 
    
$dbname "Lsdxxx_new"
    
// Имя пользователя... Скорее всего будет совпадать с вашим доменным именем 
    // у нас, например $dbuser = "softtime"; 
    
$dbuser "Lsdxxx"
    
// Пароль - в комментариях не нуждается ;-) 
    
$dbpasswd "tusaz666"
    
// Соединяемся с сервером базы данных 
    
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd); 
    if (!
$dbcnx) { 
      echo( 
"<P>В настоящий момент сервер базы данных не 
                          доступен, поэтому корректное отображение 
                          страницы невозможно.</P>" 
); 
      exit(); 
    } 
    
// Выбираем базу данных 
    
if (! @mysql_select_db($dbname,$dbcnx) ) { 
      echo( 
"<P>В настоящий момент база данных не доступна, 
                          поэтому корректное отображение страницы 
                          невозможно.</P>" 
); 
      exit(); 
    }  
?>


login_script.php


<?
ini_set
('display_errors',1);
error_reporting(E_ALL);
require(
"openDB.php");

$login=$_POST['login'];
$password=$_POST['password'];

$query ="SELECT * FROM psa_char where login like '%".$login."%'";
$resultmysql_query($query);
  if(!
$result
    { 
      echo 
mysql_error(); 
      echo 
"Ошибка выполнения запроса"
      exit(); 
    } 
$row mysql_fetch_array($result);
//PROVERKA PAROLIA!!!!!!!!!!!!!
 // Если запрос вернул результат - производим дальнейшую обработку 
 
if(mysql_num_rows($result) > 0
    { 
    
//md5($password)==$row["password"]
    //strcmp(md5($password),$row["password"])=1
    
echo $row["password"];
    echo 
"  ".md5($password);
$pos=strpos(md5($password),$row["password"]);
    
      if (
$pos===false
       { 
         echo 
"Ошибка идентификации: неправильный пароль"
         exit(); 
       } 
    else 
        { 
         
// Идентификация прошла успешно - осуществляем 
         // "вход" посетителя. Для того, чтобы в течении текущей 
         // сесси посетитель не вводил своё имя пароль повторно - 
         // передаём их через сессию 
         
if(session_start()) 
         { 
           
$_SESSION['login'] = $_POST['login']; 
           
$_SESSION['password'] = $_POST['password']; 
           
// Осуществляем автоматический переход на 
           // страницу index.php чтобы убедится, что 
           // посетитель "вошёл" 
          // echo "<HTML><HEAD> 
                // <META HTTP-EQUIV='Refresh' CONTENT='0; URL=login.php'> 
               //  </HEAD><body>"; 
                 
echo "fghjkl";
         } 
        } 
      
     } 
    
// Если в результате запроса не получено ни одной 
    // строки - посетитель с таким именем не зарегистрирован 
 
else 
    { 
      echo 
"Ошибка идентификации: посетитель не зарегистрирован"
      exit(); 
    } 
    
/*     
if (md5($password)==$row["password"])

echo $login." zdrasti";
echo "<head>
<title>proverka</title>
</head>
<body>
<a href=\"main.php\">voiti v igru </a>
</body>";
}
else echo"Blogai <br>";

echo $row["password"]."<br>";
echo md5($password); */

?>

   

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

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

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