|
 9 Кб |
|
| Суть в том, что мне нужно установить сессию и передать переменную на другую страницу. | |
|
|
|
|
|
|
|
для: Romantic
(07.02.2015 в 23:19)
| | Приведите код.
Суть в том, что перед вызовом session_start произошел вывод в браузер. В этом и ошибка.
Нет ли у вас в скрипте перед <?php пустой строки или пробела? | |
|
|
|
|
|
|
|
для: Mookapek
(07.02.2015 в 23:28)
| | Пожалуйста, вот сам код по учебнику, впереди нет ни одной пустой строики и пробела
<?php
session_start();
$_SESSION['a'] = "value";
$arr = array("one", "two", "three");
$_SESSION['arr'] = $arr;
echo "<a href=http://m/test/other.php>другая страница</а>"
?> | |
|
|
|
|
|
|
|
для: Mookapek
(07.02.2015 в 23:28)
| | Кстати, случайное наблюдение: я ставлю кодировку в NotePad++ UTF-8 и это сообщение Warning есть, но когда я ставлю кодировку UTF-8(без BOM) и обновляю страницу, то Warning пропадает, и скрит работает, но весть русский текст превращается в иероглифы((( Р’С‹ посетили эту страницу 29 раз | |
|
|
|
|
|
|
|
для: Mookapek
(07.02.2015 в 23:28)
| | Кстати, нашёл ответ! Всё дело действительно было в кодировке (UTF-8), а в NotePad++ нужно выбирать UTF-8(без BOM) - тогда сесии и куки начнут работать, а иероглифы превратить обратно в русский язык можно с помощью header("Content-Type: text/html;charset=UTF-8"); Возможно кому-то пригодится!
<?php
$_COOKIE['a']++;
setcookie("a", $_COOKIE['a']);
header("Content-Type: text/html;charset=UTF-8");
echo ("Вы посетили эту страницу $_COOKIE[a] раз");
?> | |
|
|
|
|
|
|
|
для: Romantic
(08.02.2015 в 00:33)
| | Чтобы понять эту проблему погуглите на тему BOM (Маркер последовательности байтов). Если вы откроете пустой документ в UTF-8 стандартным Блокнотом, то можете увидеть в начале файла 3 непонятных символа. Это и есть BOM, который перед session_start() отправляется на вывод в браузер. Это и порождает ошибку. | |
|
|
|
|
|
|
|
для: Mookapek
(07.02.2015 в 23:28)
| | >Приведите код.
>Суть в том, что перед вызовом session_start произошел вывод в браузер. В этом и ошибка.
>Нет ли у вас в скрипте перед <?php пустой строки или пробела?
<?php
ob_start(); // не выводит в браузер а помещает в буфер
// ваш код
ob_end_flush(); // вы водит в браузер // таким образом обошли ограничения php с заголовками
?>
|
| |
|
|
|
|
|
|
|
для: artem01
(11.02.2015 в 17:03)
| | Не по теме. | |
|
|
|