2013-07-07 4 views
-5

Я работаю над функциями входа. Итак, что я хочу сделать, при отправке формы с "login.php", если данные верны, он должен перейти в «home.php», иначе он должен вернуться к "login.php". моя обработка входа находится на "process.php". Но я не знаю, как перенаправить/отправить на соответствующую страницу с "process.php"Как перенаправить/отправить в php?

+3

-1 из-за отсутствия усилий. [_other questions_] (http://stackoverflow.com/questions/768431/how-to-make-a-redirect-in-php), [_another_] (http://stackoverflow.com/questions/4871942/how- to-redirect-to-another-page-using-php? rq = 1), [_another_] (http://stackoverflow.com/questions/15670910/redirecting-php?rq=1), сколько вы хотите? – itachi

ответ

2

Используйте функцию заголовка, как это:

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

Но не печатать никаких выходных данных HTML перед вызовом функции заголовка еще это приведет к ошибке.

0

header('Location: http://someweb.com'); перенаправляет пользователя.

+1

Вторая часть вашего ответа не подходит. * «HTTP/1.1 требует абсолютного URI в качестве аргумента для местоположения: включая схему, имя хоста и абсолютный путь, но некоторые клиенты принимают относительные URI». * - [Документация по PHP] (http://us3.php.net/manual/ ru/function.header.php) – animuson

1

попробовать что-то вроде этого:

<?php 
session_start(); 
//do some login processing 

if(login === true){ 
    exit(header('Location: home.php')); 
}else{ 
    //Extra marks set a reason why failed 
    $_SESSION['error'] = 'Some error about why it failed'; 
    exit(header('Location: login.php')); 
} 
?> 

exit(header('Location: *')); является то, что ваш после.

+0

какой diff exit() делает? – Ankit

+1

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

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