Почему возникает ошибка?
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>
<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>
Cannot send session cookie - headers already sent by
заголовки уже посланы
в твоём коде видно, что session_start() (которая ставит куку) стартует уже после вывода...
поставь эту строку самой первой у себя) будет работать
Или в самом верху напиши ob_start("ob_gzhandler"); Таким образом вывод будет буфферизироваться до самого конца работы скрипта, и можно заголовки посылать любые в любое время, не опасаясь, что где-то проскочит незаметный пробел, или конец строки.
конец строки и пробел может где и проскочит, а вот если выводить html-код то по-моему не прокатит, только если ob_clean_cache() сделать
Цитата: Mr.Hacker
конец строки и пробел может где и проскочит, а вот если выводить html-код то по-моему не прокатит, только если ob_clean_cache() сделать
Ты не вниматочно прочитал моё сообщение. Там написано ob_start("ob_gzhandler"); Для интересу можешь почитать мануал про ob_start(), в котором даётся подробное описание этой фичи с буфферизацией и gzip-сжатием. Там не надо больше ничего писать вообще.
а где взять такой мануал? Если можно, ссылочку.
не ну так нельзя.......