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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Warning: session_start(): Cannot send session cookie - headers already sent by
 
 автор: guy   (19.03.2006 в 18:34)   письмо автору
 
 

Привет всем!!! Я щас в шоке, я свой сайт делал около двух с половиной недель, все вроде на своем компе получилось (у меня стоит Сервер апаче, пхп версии 4.2, там еще что-то, ну короче все кроме MySQL), ну вот в общем парился над движком, наконец-таки все сделал и загрузил на сервер (Мобихост.ру) и смотрю вроде все работает, но самое ответственное - раздел управления сайтом (где я добавляю новости, там всякая статистика и рассылка) не пашет, т.к. он весь основан на передачи сессионных данных (СЕССИИ), в общем хост не выполняет скрипт а выдает вот что:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/seprvol/public_html/management/index.php:3) in /home/seprvol/public_html/management/index.php on line 12

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/seprvol/public_html/management/index.php:3) in /home/seprvol/public_html/management/index.php on line 12


А скрипт таков:


<?
$loginofsite="login";
$passofsite="7777777";

session_start();
if(isset($_SESSION['login']) && isset($_SESSION['pass']))
{
if($_SESSION['login']==$loginofsite && $_SESSION['pass']==$passofsite)
{
//здесь я пишу скрипт если пароль и логин правильные
// -------------------------------------------------КОНЕЦ ВСТАВКИ ЕСЛИ ВСЕ ВЕРНО---------------------------------------------
}

}


else



{
echo("<table width=100% border=0 cellspacing=0 cellpadding=0 height=100%>
<tr>
<td align=center valign=middle><a href=index.php><img src=../img/keys.GIF STYLE=filter:Chroma(Color=#ffffff) border=0><br>Чтобы войти на эту страницу, нужно ввести правильные логин и пароль</a></td>
</tr>
</table>");
}
?>


Подскажите что у меня неправильно, или может это в хосте проблемы, ведь у меня на компе все работает.
Подскажите что делать?

   
 
 автор: guy   (19.03.2006 в 20:11)   письмо автору
 
   для: guy   (19.03.2006 в 18:34)
 

Ну помогите кто-нибудь в проблеме, уважаемые программисты

   
 
 автор: CrazyAngel   (19.03.2006 в 20:23)   письмо автору
 
   для: guy   (19.03.2006 в 20:11)
 

Похоже ты уже отправил заголовки

в начале страници напиши

ob_start()

или

od_start()

Просто забыл как правельно

   
 
 автор: CrazyAngel   (19.03.2006 в 20:40)   письмо автору
 
   для: CrazyAngel   (19.03.2006 в 20:23)
 

После сессион старт

   
 
 автор: midav   (19.03.2006 в 20:21)   письмо автору
 
   для: guy   (19.03.2006 в 18:34)
 

Попробуй так

<?
session_start
();

$loginofsite="login";
$passofsite="7777777";

if(!isset(
$_SESSION['login'])) {

echo
"<table width=100% border=0 cellspacing=0 cellpadding=0 height=100%>
<tr>
<td align=center valign=middle><a href=index.php><img src=../img/keys.GIF STYLE=filter:Chroma(Color=#ffffff) border=0><br>Чтобы войти на эту страницу, нужно ввести правильные логин и пароль</a></td>
</tr>
</table>"
;
}
else 
{
if(
$_SESSION['login']=="$loginofsite&& $_SESSION['pass']=="$passofsite")
{
//здесь я пишу скрипт если пароль и логин правильные
// -------------------------------------------------КОНЕЦ ВСТАВКИ ЕСЛИ ВСЕ ВЕРНО---------------------------------------------
}
}
?>


А как выглядит форма по которой ты заходишь на сайт

   
 
 автор: guy   (22.03.2006 в 17:19)   письмо автору
 
   для: midav   (19.03.2006 в 20:21)
 

Вот так выглядит:

<title>Управление сайтом</title>
<link rel=stylesheet href=../style/sepr.css type=text/css>
<?
if($login && $pass)
{

$loginofsite="login";
$passofsite="7777777";

if($login==$loginofsite && $pass==$passofsite)
{
session_start();
$_SESSION['login'] = "$loginofsite";
$_SESSION['pass'] = "$passofsite";
include("inc/manager.inc");
}
else
{
include("inc/form_do_texta.inc");

if($login!=$loginofsite)
{echo("<font color=red><b>Логин неверен!</b></font>");}
if($pass!=$passofsite)
{echo("<br><font color=red><b>Пароль неверен!</b></font>");}

include("inc/form_posle_texta.inc");
}
}
else
{
include("inc/form_do_texta.inc");
echo("<font color=red><b>Заполните поля!</b></font>");
include("inc/form_posle_texta.inc");
}
?>
Кто-нибудь знает что делать?

   
 
 автор: guy   (22.03.2006 в 17:22)   письмо автору
 
   для: midav   (19.03.2006 в 20:21)
 

Так в лом разбираться в том что написал cheops , просто времени нету, подскажите что исправить в скрипте, форму файла индекс.пхп написал. Хэлп

   
 
 автор: kasmanaft   (22.03.2006 в 17:39)   письмо автору
 
   для: guy   (22.03.2006 в 17:22)
 

лом разбираться.... убери первые 2 строчки... (или сдвинь их вниз... чтоб стояли после session_start...

   
 
 автор: guy   (22.03.2006 в 20:05)   письмо автору
 
   для: kasmanaft   (22.03.2006 в 17:39)
 

Неа, все равно все тоже самое, ту же ошибку выдает, в начале скрипта поставил session_start() , а потом переменные и т.п., блин так долго парюсь над этой проблемой, должен же быть выход. ХЕЕЕЕЕЕЕЕЛП МИ!!!!!!!!!!!

   
 
 автор: cheops   (22.03.2006 в 23:04)   письмо автору
 
   для: guy   (22.03.2006 в 20:05)
 

Сделайте так
<?php
session_start
();
?>
<title>Управление сайтом</title>
<link rel=stylesheet href=../style/sepr.css type=text/css>
<?
if($login && $pass)
{

$loginofsite="login";
$passofsite="7777777";

if(
$login==$loginofsite && $pass==$passofsite)
{
$_SESSION['login'] = "$loginofsite";
$_SESSION['pass'] = "$passofsite";
include(
"inc/manager.inc");
}
else
{
include(
"inc/form_do_texta.inc");

if(
$login!=$loginofsite)
{echo(
"<font color=red><b>Логин неверен!</b></font>");}
if(
$pass!=$passofsite)
{echo(
"<br><font color=red><b>Пароль неверен!</b></font>");}

include(
"inc/form_posle_texta.inc");
}
}
else
{
include(
"inc/form_do_texta.inc");
echo(
"<font color=red><b>Заполните поля!</b></font>");
include(
"inc/form_posle_texta.inc");
}
?>

   
 
 автор: guy   (23.03.2006 в 12:46)   письмо автору
 
   для: cheops   (22.03.2006 в 23:04)
 

Большое спасибо

   
 
 автор: cheops   (19.03.2006 в 21:36)   письмо автору
 
   для: guy   (19.03.2006 в 18:34)
 

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

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

   
Rambler's Top100
вверх

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