2012-04-24 4 views
0

У меня есть страница входа в систему, которая проверяет username и password, и если учетные данные, предоставленные пользователем, соответствуют сеансу и перенаправляют пользователя, он работает на моей учетной записи хостинга godadd, но Теперь я сместились мой хостинг, и вдруг он перестал работать, после это кодheader ('Местоположение:') не перенаправляется

if (count($result) > 0) 
      {    
       $row= mysql_fetch_array($result); 
       $userID = $row['userID'];    
       $firstName = $row['FirstName'];   

       $isActive = $row['IsActive']; 

       if ($isActive == '1') 
       { 

        $_SESSION['user'] = $firstName;  
        //var_dump($firstName); //it gives me the right username     
        //echo" - here"; //this also gets echoed 
        header("Location: http://google.com/"); //it just dies silently 
        exit; 
       } 

пожалуйста, помогите мне найти, где я пошло не так

+2

Включены ли сообщения об ошибках? – jeroen

+0

@jeroen no i dont включить отчет об ошибках –

+0

Начните с этого и посмотрите, дает ли он дополнительную информацию. – jeroen

ответ

1

Вы должны убедиться, что вы ничего не выводите перед заголовком не вторя тег. Поскольку он работал раньше, я предполагаю, что это не ошибка, когда вы являетесь echo'n stuff перед вызовом заголовка, и поскольку вы не видите выхода, я предполагаю, что он выводит пустое пространство. Есть несколько мест, где некоторые пробелы и/или невидимых символов могут проникнуть в файл:

Поместите курсор до вашего открытия PHP тега (<? or <?php) и ударил Backspace несколько раз, а затем нажмите Удалить, чтобы удалить <, а затем Введите <. Это позволит убедиться, что невидимые символы не выводятся в браузер перед вашими заголовками.

Затем пройдите через любые файлы, которые включены в этот файл, и сделайте то же самое, а также удалите все ?>, которые у вас есть в конце файла. Если эти файлы включают любые файлы, повторите это на них.

+0

nope not thing .... –

+0

@john Убедитесь, что вы делаете то же самое в файл, который вы включаете с 'require_once', и любые файлы, которые он включает/требует и так далее. Затем в конце этих файлов убедитесь, что новые строки не выводятся. (Самый простой способ - удалить '?>', Если он у вас есть. В конце файла вам не нужен. – Paulpro

+0

Если вы используете Notepad ++, вам также нужно быть осторожным, чтобы не кодировать файл с помощью * UTF8 с BOM * – Tibor

1

Если вы хотите использовать header(), вы не должны echo ничего до к нему.

+0

Я не повторяю ничего перед вызовом заголовка, см. его комментарий в вопросе, который был только чтобы проверить, был ли dn sonnection успешным, я только начинаю сессию и включаю php-файл 'require_once' –

1

Вы выводите что-либо перед вызовом header()?

Если это так, положить ob_start() в начале вашего скрипта или убедитесь, что вы что-либо перед заголовком() называется

+0

. Я не повторяю ничего перед заголовком –

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