Ошибка Warning: Cannot modify header information. Кодировка без bom. Как исправить?

Код отправки формы
<?php
setlocale(LC_ALL, 'ru_RU.utf8');
Header("Content-Type: text/html;charset=UTF-8");
define('DB_HOST', 'localhost');
define('DB_LOGIN', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'gbook');
$link = mysqli_connect(DB_HOST, DB_LOGIN,
DB_PASSWORD, DB_NAME);
function clearStr($data){
	global $link;
	return mysqli_real_escape_string($link, trim(strip_tags($data))); 
}
if($_SERVER ['REQUEST_METHOD']=='POST'){
	$name = clearStr($_POST['name']);
	$email = clearStr($_POST['email']);
	$msg = clearStr($_POST['msg']);
	$sql = "INSERT INTO msgs (name, email, msg)
		VALUES ('$name', '$email', '$msg')";
		mysqli_query($link, $sql) or die (mysqli_error($link));
		header ('Location: '.$_SERVER['REQUEST_URI']);
		exit;
}
?>
<h3>Оставьте запись в нашей Гостевой книге</h3>
<form method="post" action="<?= $_SERVER['REQUEST_URI']?>">
Имя: <br /><input type="text" name="name" /><br />
Email: <br /><input type="text" name="email" /><br />
Сообщение: <br /><textarea name="msg"></textarea><br />
<br />
<input type="submit" value="Отправить!" />
</form>


Есть индексный файл, с которым проблема
<?
	setlocale(LC_ALL, 'ru_RU.utf8');
	Header("Content-Type: text/html;charset=UTF-8");
	define('PATH_LOG','path.log');
	include 'inc/log.inc.php';
	include 'inc/headers.inc.php';
	include 'inc/cookie.inc.php';	
	ob_start; 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
	<head>
		<title><?= $title ?></title>
		<meta http-equiv="content-type"
			content="text/html;charset=utf-8" />
		<link rel="stylesheet" type="text/css" href="inc/style.css" />
	</head>
	<body>


Ошибка такая
Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\NewSpesialPHP2\php2\index.php:13) in C:\OpenServer\domains\NewSpesialPHP2\php2\inc\gbook.inc.php on line 20


ошибка по этому коду
<title><?= $title ?></title>
У меня не работает ob_start; или что-то еще? Кодировка без bom. header ('Location: '.$_SERVER['REQUEST_URI']); необходим, чтобы при обновлении не отправлялась форма заного.
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы