vanya
Новичок
Редирект на страницу, если Header уже отправлен...
Есть задача авторизации пользователя и, в случае правильного логина и пароля, редиректить его на соотв. страницу.
Условие: обязательное использование PEAR HTML_QuickForm.
Я делаю так:
Вопрос в том как его редиректить если Header() уже не будет работать (ведь он уже отправлен функцией ShowAdmin())?
P.S. Если делать без Квикформы, то все ясно.
По сабмиту страница выполняется повторно и проверяется переменая с именем кнопки Submit. Если она существует, то делаем редирект юзера.
Есть задача авторизации пользователя и, в случае правильного логина и пароля, редиректить его на соотв. страницу.
Условие: обязательное использование PEAR HTML_QuickForm.
Я делаю так:
PHP:
require_once('HTML/QuickForm.php');
ShowAdmin();
function ShowAdmin()
{
<html>
<head>
<title>Вход ...</title>
</head>
<body onload="if(document.all.UserLogin)document.all.UserLogin.focus();">
<center>
$form = new HTML_QuickForm('frmUserLogin', 'get');
$form->addElement('text', 'UserLogin', 'Логин (e-mail):');
$form->addElement('password', 'UserPass', 'Пароль:');
$form->addElement('reset', 'btnClear', 'Очистить');
$form->addElement('submit', 'btnSubmit', 'Войти');
$form->addRule('UserLogin', 'Введите, пожалуйста, логин.', 'required');
$form->addRule('UserPass', 'Введите, пожалуйста, пароль.', 'required');
if ($form->validate())
{
$form->process('ValidPass', false);
}
else
{
$form->display();
}
</center>
</body>
</html>
}
function ValidPass($values)
{
// Здесь проверяется, введеный логин и пароль.
// И, если они верны, то редиректить юзера на страницу info.php
}
P.S. Если делать без Квикформы, то все ясно.
По сабмиту страница выполняется повторно и проверяется переменая с именем кнопки Submit. Если она существует, то делаем редирект юзера.