Здраствуйте.
Возникла у меня описанная в этой теме ошибка.
Суть проблемы вот в чем. Есть у меня
код (честно притыренный и переработанный под свои нужды

). Сам по себе, он работает нормально (сессия начинается в начале страницы), хотя и не хочет отправлять сообщение с mail.ru (жалуется на неправильные заголовки). Но дело в том, что мне необходимо вставить его в сайт на основе wordpress и тут начинаются проблемы. Я пытаюсь вставить его как "страницу". Для возможности добавлять php код во встроенном текстовом редакторе, добавил в файл используемой "темы" functions.php следуйщие строки:
Спойлер (Отобразить)function exec_php($matches){
eval('ob_start();'.$matches[1].'$inline_execute_output=ob_get_contents();ob_end_clean();');
return $inline_execute_output;
}
function inline_php($content){
$content = preg_replace_callback('/\[exec\]((.|\n)*?)\[\/exec\]/', 'exec_php', $content);
$content = preg_replace('/\[exec off\]((.|\n)*?)\[\/exec\]/', '$1', $content);
return $content;
}
add_filter('the_content', 'inline_php', 0);
Ошибки выбивает те же, что и у других:
Спойлер (Отобразить)Warning: session_start() [function.session-start]: Cannot send session cookie — headers already sent by (output started at W:\domains\wp-vodokanal\wp-content\themes\twentytwelve\header.php:13) in W:\domains\wp-vodokanal\wp-content\themes\twentytwelve\functions.php(512) : eval()’d code on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter — headers already sent (output started at W:\domains\wp-vodokanal\wp-content\themes\twentytwelve\header.php:13) in W:\domains\wp-vodokanal\wp-content\themes\twentytwelve\functions.php(512) : eval()’d code on line 2
Насколько я понимаю - я делаю, в корне, неправильно, пытаясь впихнуть сессию как "страницу", так как вначале отсылаются заголовки из файла headers.php. Если же вставляю сессию и связанный с ней код в начало файла headers.php, все работает но "криво" - после отправки данных, меня переадресовывает на главную страницу, вместо того, чтобы остаться на текущей и выбить мне сообщение об отправке/ошибке. А когда перехожу на нужную страницу, то сообщения об отправке/ошибке - присутствует.
Так же, вычитал совет в настройках PHP выставить в output_buffering значение 4096, что приводит уже к другим ошибкам (видимо связано с превышением лимита буфера для заголовков).
Понимаю, что делать видимо пытаюсь неправильно, но в упор не знаю куда можно грамотно впихнуть код, чтобы он без проблем работал.
Заранее благодарен.
ПС: Я в программировании новичек и даже не могу назвать себя программистом. Поэтому, не пинайте сильно.