2013-05-06 2 views
0

Я создал страницу, которая обновляет базу данных. Я хочу, чтобы эта страница автоматически отправила вас на главную страницу (страницу, на которой отображается информация о базе данных) после завершения всего кода на странице обновления (и через несколько секунд).перенаправление в php ПОСЛЕ завершения моей страницы

Я помещаю функцию header(), но, похоже, перенаправляет ее перед выполнением какого-либо кода. Правильно ли используется заголовок? Есть ли другой способ перенаправления после кода и короткой задержки?

+0

показать нам свой код. Все, что вам нужно сделать, это поместить вызов заголовка после обновлений AND, прежде чем какой-либо вывод будет отправлен в браузер. –

ответ

0

да, но сделать это после того, как вы выполнить свой код ..

<?php 
function foo(){ 
    //do stuff here 

    header("Location: redirect.php"); 
    exit(); 
} 

убедитесь, что вы не выходной что-нибудь еще, прежде чем делать редирект или иначе он будет показывать ошибку headers already sent

+0

На самом деле я нахожу, что могу поместить текстовый вывод, но перенаправление происходит так быстро, что нет времени на чтение сообщения в любом случае, но, похоже, он работает с Firefox как минимум. Спасибо за помощь!! – ForgottenOne

0

Да, header() выполнит эту работу. Просто позвоните по этому коду после кода обновления базы данных:

header('Location: ...'); 
exit; 

Зачем вам добавлять задержку перед перенаправлением?

+0

, так что есть время, чтобы просмотреть всплывающие сообщения об ошибках. У меня есть мой код вывода "база данных успешно обновлена", если все идет хорошо, и ошибки, если все идет хорошо. – ForgottenOne

+0

Тогда перенаправление HTTP, определенно, не является решением, которое вам нужно: либо мета-обновление, либо перенаправление javascript, выполнит эту работу. – Benjamin

0

Вы должны иметь возможность использовать перенаправление header() после выполнения PHP-кода. Убедитесь, что ваш вызов header() находится после кода, который вы хотите запустить перед перенаправлением.

0

Да это, используйте header() функцию с Location: xxx, просто отправьте ее после того, как ваш код выполнил действия. Также обратите внимание, что для того, чтобы заголовок() вступил в силу, никакой реальный вывод страницы не может быть выполнен до вызова header() (хотя даже это можно преодолеть с помощью буферизации вывода).

0

header() - это правильная функция для перенаправления, однако функция header() работает только в том случае, если на странице нет выхода.

было бы неплохо, если вы можете здесь показать код.

<?php 
header('Location: http://www.example.com/'); 
?> 
+0

сожалею об этом, Im начинающий кодер (студент), который работает в учебном заведении (он работает в колледже в качестве студенческого сотрудника). im должен быть осторожным относительно кода, который я выдаю сторонним сайтам и тому подобное. Но, как я уже сказал, я новичок, поэтому мне нужна помощь время от времени, чтобы все работало нормально. Спасибо за помощь кстати! – ForgottenOne