2015-05-27 4 views
1

Я искал какое-то время, и кажется, что я не могу найти решение моей проблемы. Я надеюсь, что вы, ребята, можете мне помочь.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% отлично на локальном хосте, но на сервере он терпит неудачу - он просто показывает пустую страницу. Есть идеи?

+0

Кажется, что работает хорошо .. Можете ли вы попробовать с реальным адресом, например? 'header ('Местоположение: http://www.example.com/');'? –

+0

не уверен на 100%, но ob_start не позволяет ничего отправлять, включая заголовки. – Patrick

+0

@Patrick, no. Выходной буфер просто предотвращает выход **, кроме ** заголовков. [function.ob-start] (http://php.net/manual/en/function.ob-start.php) –

ответ

0

Okay. Я нашел ошибку. Видимо, я каким-то образом сохранил свой документ с помощью спецификации, что сделало код каким-то образом недействительным.

Благодарим всех вас за помощь.

Смежные вопросы