|
|
|
|
|
для: Владимир55
(01.02.2008 в 18:33)
| | зачем? вы пробуйте - вопросов меньше будет | |
|
|
|
|
|
|
|
для: mihdan
(01.02.2008 в 18:00)
| | Но где то придется вставить и ob_end_flush() ?
Так? | |
|
|
|
|
|
|
|
для: Владимир55
(01.02.2008 в 15:21)
| | >В свое время я с куками также барахтался, и это очень неудобно. Надеялся, что сессии лишены этого недостатка, ан нет...
Попробуй первой строкой в файле написать ob_start(); избавишься от этого - можешь заголовки посылать в любое время
>
>А для сокетов тоже такое требование - ?
Нет | |
|
|
|
|
|
|
|
для: cheops
(01.02.2008 в 15:02)
| | Понятно, теперь работает.
В свое время я с куками также барахтался, и это очень неудобно. Надеялся, что сессии лишены этого недостатка, ан нет...
А для сокетов тоже такое требование - отсутствие предшествующих обращений к броузеру? В Самоучителе я что-то не нашел информации по сокетам. Где об этом можно прочесть попроще? | |
|
|
|
|
|
|
|
для: Владимир55
(01.02.2008 в 14:26)
| | Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/group/id_group=12 | |
|
|
|
|
|
|
|
для: Владимир55
(01.02.2008 в 14:26)
| | Значит у вас что-то выводится на экран до session_start(); | |
|
|
|
|
|
|
|
для: mihdan
(01.02.2008 в 11:34)
| | И не получилось!
На первой странице пишу такой код:
session_start();
$x = "Проба";
$_SESSION['test'] = $x;
|
Получаю диагностическое сообщение:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at w:\home\lucky\www\999.php:9) in w:\home\lucky\www\999.php on line 11
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at w:\home\lucky\www\999.php:9) in w:\home\lucky\www\999.php on line 11
В строке 11 - session_start();
Пробовал и на Денвере, и на сервере. | |
|
|
|
|
|
|
|
для: Владимир55
(01.02.2008 в 11:30)
| |
Если нужен ПОСТ - используй СОКЕТЫ
<?
// Я в одном файле писал
session_start();
$x = "Проба";
$_SESSION['test'] = $x;
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=admm.php;'></HEAD></HTML>";
//а в другом, на который осуществляется переход, было
session_start();
$test = $_SESSION['test'];
echo $test;
//И все выводилось.
?>
|
| |
|
|
|
|
|
|
|
для: divbyzero
(01.02.2008 в 01:25)
| | Я в одном файле писал
$x = "Проба";
$GLOBALS['test'] = $x;
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=admm.php;'></HEAD></HTML>";
| а в другом, на который осуществляется переход, было
$test = $_POST['test'];
echo $test;
|
И ничего не выводилось. | |
|
|
|
|
|
|
|
для: Владимир55
(31.01.2008 в 15:40)
| | >записать переменную $x в глобальные переменные
код был дан для этого | |
|
|
|
|