PHP Redirect?
9 отговора
553 прегледа
PHP Redirect?
Здравейте,
Известни са ми два начина за редиректване към друга страница при изпълнение на даден PHP код, с функцията header() и HTTP редирект:
- header("Location: [линк]")
- <meta http-equiv="refresh" content="0;URL=[линк]">
И в двата случая редиректа се извършва от браузера. Има ли начин по времето на изпълнението на даден php скрипт да се извърши редирект от сървъра без да се изпраща информация към браузера ?
Известни са ми два начина за редиректване към друга страница при изпълнение на даден PHP код, с функцията header() и HTTP редирект:
- header("Location: [линк]")
- <meta http-equiv="refresh" content="0;URL=[линк]">
И в двата случая редиректа се извършва от браузера. Има ли начин по времето на изпълнението на даден php скрипт да се извърши редирект от сървъра без да се изпраща информация към браузера ?
Re: PHP Redirect?
Механизъм:
"Браузъра подава HTTP заявка към сървъра -> сървъра я обработва -> връща отговор на заявката"
HEADER е частта от заявката, която указва (най-грубо казано) какво да се върне. Какво точно целиш, което да съвпада с горният механизъм, а не се изпълнява. PHP може да ти смени header-a, но той трябва да се върне в браузъра. Иначе не би било заявка...
*** *** ***

"Браузъра подава HTTP заявка към сървъра -> сървъра я обработва -> връща отговор на заявката"
HEADER е частта от заявката, която указва (най-грубо казано) какво да се върне. Какво точно целиш, което да съвпада с горният механизъм, а не се изпълнява. PHP може да ти смени header-a, но той трябва да се върне в браузъра. Иначе не би било заявка...
*** *** ***
Re: PHP Redirect?
По време на изпълнение на скрипта от сървъра в следствие заявка подадена от браузера скрипта да може да изпълни друг скрипт, който връща дадено съдържание към браузъра. Пример: WEB автентикация - потребителя въвежда във форма име и парола и я изпраща към скрипта login.php, кохто проверя в БД дали има такъм потребител с тази парола - ако няма редиректва към error.php, който връща съобщение към потребителя за грешка, ако автентикацията е успешна login.php редиректва към някакъв скрипт, който предоставя даден вид услуги за съответния потребител. Тук редиректването става с функцията header(). Възможно ли е по друг начин това да стане, това е въпроса?
Re: PHP Redirect?
странно, какво не ти харесва на този метод, че се опитваш да го направиш по друг начин???
Just a genius
Re: PHP Redirect?
Да така е, класика и върши работа в 95 % от случаите. Това е само моят пример.
Но има и други случаи в практиката, когато ако има друго решение би било много полезно. Често се случва - Cannot modify header information - headers already sent by (output started at ...
Методите за редирект към друг php скрип за изпълнение, е като се изпраща информация към браузърите(с php header фукцията или HTTP редирект), след което те подават свойта заявка за нужния ни скрипт.
Та питах има ли начин или някаква техника този редирект да става от самия сървър без да се изпраща информация към браузъра. Тук не включвам дерективата include.
Има други няколко начина и средства за разрешаване на проблемите с функцията header за редирект, но съм любопитен ако някой използва някакво друго генерално решение.
Поздрави на всички.
Но има и други случаи в практиката, когато ако има друго решение би било много полезно. Често се случва - Cannot modify header information - headers already sent by (output started at ...
Методите за редирект към друг php скрип за изпълнение, е като се изпраща информация към браузърите(с php header фукцията или HTTP редирект), след което те подават свойта заявка за нужния ни скрипт.
Та питах има ли начин или някаква техника този редирект да става от самия сървър без да се изпраща информация към браузъра. Тук не включвам дерективата include.
Има други няколко начина и средства за разрешаване на проблемите с функцията header за редирект, но съм любопитен ако някой използва някакво друго генерално решение.
Поздрави на всички.
Re: PHP Redirect?
"Да така е, класика и върши работа в 95 % от случаите. Това е само моят пример.
Но има и други случаи в практиката, когато ако има друго решение би било много полезно. Често се случва - Cannot modify header information - headers already sent by (output started at ...
" - ми като си пратил нещо предварително. като използваш header-а, поне го ползвай както трябва или ако не, то ползвай обикновенният refresh на html.
"Та питах има ли начин или някаква техника този редирект да става от самия сървър без да се изпраща информация към браузъра." - ахахаахахахах. обаждаш се на потребителя по телефона и му казваш адреса на който искаш да отиде.
"Има други няколко начина и средства за разрешаване на проблемите с функцията header за редирект" - да. поставяйки го на правилното място и в правилното време.
Но има и други случаи в практиката, когато ако има друго решение би било много полезно. Често се случва - Cannot modify header information - headers already sent by (output started at ...
" - ми като си пратил нещо предварително. като използваш header-а, поне го ползвай както трябва или ако не, то ползвай обикновенният refresh на html.
"Та питах има ли начин или някаква техника този редирект да става от самия сървър без да се изпраща информация към браузъра." - ахахаахахахах. обаждаш се на потребителя по телефона и му казваш адреса на който искаш да отиде.
"Има други няколко начина и средства за разрешаване на проблемите с функцията header за редирект" - да. поставяйки го на правилното място и в правилното време.
Re: PHP Redirect?
все пак клиент дърпа резултати от изпълнение на сървъри трябва на клиента да посочиш от къде да ги вземе
Re: PHP Redirect?
това с хедърите след аутпут си е твой проблем, трябва така да направиш, че да не се случва... иначе, номерът с инклудване на различни модули е точно твоя случай - според зависи инклудваш/показваш този или онзи скрипт...
Just a genius