

Вход / Регистрация
Вход
error_reporting(-1);
Кроме этого в .htaccess прописать:
php_flag display_errors on
. А теперь открываем скрипт и сравниваем с ошибками.echo 'text';
session_start();
, то есть в данном случае выводим информацию на экран, а уже после активируем сессию, что является ошибкой. Аналогично с работой кукисов на добавление, редактирование и удаление, только чтение использовать можно внутри вывода:
echo $_COOKIE['test'];
Как же происходит всё это: дело в том, что данные идут в 2 потока, первым является отправка заголовков клиенту, где устанавливается работа с куками, сессиями, кодировкой. И когда заголовки (headers) были полностью отправлены клиенту, то начинается второй этап - отправка данных. И данная ошибка возникает тогда, когда пытаетесь отправить заголовок уже во втором этапе, в этапе отправки данных, то есть после первого вывода данных. Помним, что тег <html> так же является выводом данных, как и любой пробел. Кроме всего ранее указанного существует ещё 1 момент, когда возникает подобная ошибка: использование UTF-8 with BOM. Чтобы избежать подобной ошибки необходимо все файлы сохранять в кодировке UTF-8 without BOM, то есть отключать галочку при сохранении или в свойстве документа Include Unicode Signature (BOM). Если мы работаем со сторонним приложением или есть проблема с тем, что мы не можем отделить обработку данных от вывода (только в случае работы с чужим проектом! Свои обязаны быть 100% правильными), то используйте буферизацию вывода на стороне сервера (htaccess: php_flag output_buffering off) или уже самого скрипта (ob_start)
if($var == 10) или elseif($x)
, если такие переменные ранее не были созданы тобою в скрипте. Так как часть переменных может появляться в скрипте по ситуации ($_POST, $_GET), то необходимо делать двойную проверку:if(isset($var) && $var == 10)
if(isset($_COOKIE['var']) && $_COOKIE['var'] == 'test')
if(!isset($var)) $var = '';