Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Почему возникает ошибка?

1.2K
19 марта 2007 года
PAVEL BASIC
171 / / 24.07.2006
Вот не могу разобраться почему возникают ошибки:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at z:\home\tester.ru\www\1\index.php:6) in z:\home\tester.ru\www\1\index.php on line 7

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at z:\home\tester.ru\www\1\index.php:6) in z:\home\tester.ru\www\1\index.php on line 7

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at z:\home\tester.ru\www\1\index.php:6) in z:\home\tester.ru\www\1\index.php on line 7

вот код:

Код:
<html>
<head>
<title></title>
</head>
<body>
<?
session_start();
if ($_SERVER["REQUEST_METHOD"]=="POST") {
    $error=0;
    if ($_POST["secretcode"]!=$_SESSION["secret_number"] ||
        intval($_POST["secretcode"])==0) $error=1;

    if ($error==0) {
        $_SESSION["secret_number"]=rand(1000,9999);

        // Выполняем необходимые действия с данными
        // ..
        print "Hello ".htmlspecialchars(StripSlashes($_POST["email"]));
        exit;
        }

    if ($error==1)
    {
        print "<font color=red>Число с картинки введено неверно</font>";
    }
}
?>
<form action="index.php" method="post">
Ваш E-Mail:<br>
<input type="text" name="email" value=""><br>
<br>
Введите код, который вы видите на картинке:<br>
<input type="text" name="secretcode" value=""><br>
<img src='1.php' width=101 height=26 vspace=5>
<br><br>
<input type="submit">
</form>
</body>
</html>
271
19 марта 2007 года
MrXaK
721 / / 31.12.2002
читай что у тебя написано в ошибках
Cannot send session cookie - headers already sent by
заголовки уже посланы
в твоём коде видно, что session_start() (которая ставит куку) стартует уже после вывода...
поставь эту строку самой первой у себя) будет работать
8
20 марта 2007 года
mfender
3.5K / / 15.06.2005
Или в самом верху напиши ob_start("ob_gzhandler"); Таким образом вывод будет буфферизироваться до самого конца работы скрипта, и можно заголовки посылать любые в любое время, не опасаясь, что где-то проскочит незаметный пробел, или конец строки.
271
20 марта 2007 года
MrXaK
721 / / 31.12.2002
конец строки и пробел может где и проскочит, а вот если выводить html-код то по-моему не прокатит, только если ob_clean_cache() сделать
8
21 марта 2007 года
mfender
3.5K / / 15.06.2005
Цитата: Mr.Hacker
конец строки и пробел может где и проскочит, а вот если выводить html-код то по-моему не прокатит, только если ob_clean_cache() сделать


Ты не вниматочно прочитал моё сообщение. Там написано ob_start("ob_gzhandler"); Для интересу можешь почитать мануал про ob_start(), в котором даётся подробное описание этой фичи с буфферизацией и gzip-сжатием. Там не надо больше ничего писать вообще.

1.2K
21 марта 2007 года
PAVEL BASIC
171 / / 24.07.2006
а где взять такой мануал? Если можно, ссылочку.
13
21 марта 2007 года
RussianSpy
3.0K / / 04.07.2006
http://phpfaq.ru/headers
92
22 марта 2007 года
Тень Пса
2.2K / / 19.10.2006
не ну так нельзя.......

а вообще мануалы по PHP читаешь?

http://ru.php.net/manual/ru/index.php#bookinfo например....
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог