2012-02-19 4 views
1

У меня есть страница register.php, которая используется для получения информации о пользователе, после заполнения формы она отправляется на другую страницу post.php.Переадресовать ту же страницу снова

post.php выполняет два действия, это добавляет входящие данные в 2 местах в порядке, 1.php и 2.php, поэтому поток данных

register.php -->post.php --> 1.php -->2.php -->register.php?value='abc' 

раз данные передаются в обоих местах опять register.php загружен, но на этот раз страница apears в браузере как

http://www.example.com/register.php?value='abc' 

как я могу перенаправить эту страницу welcome.php? новый поток будет

register.php -->post.php --> 1.php -->2.php -->register.php?value='abc' -->welcome.php 

же как для такой странный поток, то, что вполне изучать вещи, и нет никаких проблем с этим, я поймал на последний шаг, когда я должен перенаправить страницу to welcome.php ..

как я могу это сделать?

+0

Почему вы не можете использовать HTTP перенаправления, как вы это делали в предыдущих страницах? 'header ('Location:')' не работает? Мета перенаправление? (google it) – Vyktor

+0

ранее я использовал форму для отправки данных. –

ответ

2

почему не вы используете переменную сеанса вместо того, чтобы использовать GET on на странице register.php?

if(isset($_SESSION['value']){ 
    header('Location:'); 
} 
1

У вас есть несколько вариантов, с помощью header() с Location: (один из примеров, приведенных в руководстве):

header('Location: welcome.php'); 
// Or with all parameters: 
header('Location: welcome.php', true, 301); 

Или meta redirect:

<meta http-equiv="refresh" content="0; url=http://example.com/"> 

Или javascript redirect:

window.location.href = 'welcome.php' 
+0

спасибо за помощь, но дайте мне знать, если я использую любое из этих 3, всякий раз, когда страница будет загружена, она будет перенаправлена ​​на welcome.php, Am i true? –

+0

просто хедз-ап ... может быть полезно сделать заголовок ('Location: welcome.php', true, 301); во избежание ошибок – jribeiro

+0

@NewBee всякий раз, когда вы используете их, страница будет перенаправлена ​​(первая, 'header()', фактически остановит php-скрипт для завершения) – Vyktor

1

Это может быть то, что вы хотите

if(str_pos($_SERVER['HTTP_REFERER'],"2.php") > 0){ 
    header('Location: welcome.php', true,301); 
} 

Надеется, что это помогает

+0

if ($ _ SERVER ['HTTP_REFERER'] == "2.php") все в порядке? или я должен использовать полный url? –

+0

str_pos лучше! он будет искать весь адрес для этой строки. Либо это, либо preg_match, но это проще! – jribeiro

+0

, если вы используете «==», вам придется сопоставить весь адрес ... – jribeiro

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