Я не совсем понимаю, как работает буферизация вывода с функцией заголовка PHP.
Вот мой код:
session_start();
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
require_once ($_SERVER['DOCUMENT_ROOT'] . '/classes/database.php');
require_once ($_SERVER['DOCUMENT_ROOT'] . '/classes/functions.php');
$db = new Database();
$db->open_connection(); // to database
$query = 'SELECT * FROM english WHERE id = ' . mysql_real_escape_string($_GET['dealerID']);
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
ob_start();
ob_flush();
header('http://www.domain.com/channel-partners/en/index.php?dealerID=' . $row['id'] . '&location=' . $row['location_url'] . '&name=' . $row['name_url']);
ob_end_flush();
Это не работает. Я получаю сообщение об ошибке "заголовки уже отправлены". Я знаю, что у меня не может быть никакого вывода до того, как я вызову команду header, но я подумал, что если бы я использовал ob_start (), у меня мог бы быть вывод до вызова команды. Очевидно, я ошибаюсь, но я не знаю, как исправить этот код, чтобы я мог использовать session_start () там, где он должен быть, открыть соединение с моей базой данных и затем вызвать перенаправление. Может кто-нибудь помочь? Благодарю.