Я искал какое-то время, и кажется, что я не могу найти решение моей проблемы. Я надеюсь, что вы, ребята, можете мне помочь.Header Location не работает
Это мой код:
<?php
ob_start();
if(isset($_POST['searchstring'])){
include ("connect.php");
$queried = $_POST['searchstring'];
$queried = trim($queried);
$patterns = array("/\s+/", "/\s([?.!])/");
$replacer = array("+","$1");
$queried = preg_replace($patterns, $replacer, $queried);
header("Location: index.php?page=search&q=".$queried."");
}
else {
header('Location: index.php');
}
exit();
?>
Я даже пытался использовать только следующий код:
<?php header('Location: index.php'); ?>
Это не работает либо. Это довольно странно, потому что я использовал местоположение заголовка миллион раз. Он работает на 100% отлично на локальном хосте, но на сервере он терпит неудачу - он просто показывает пустую страницу. Есть идеи?
Кажется, что работает хорошо .. Можете ли вы попробовать с реальным адресом, например? 'header ('Местоположение: http://www.example.com/');'? –
не уверен на 100%, но ob_start не позволяет ничего отправлять, включая заголовки. – Patrick
@Patrick, no. Выходной буфер просто предотвращает выход **, кроме ** заголовков. [function.ob-start] (http://php.net/manual/en/function.ob-start.php) –