|
|
|
| Всем снова привет!
Подскажите, как именно можно задать условие таким образом, чтобы при открытии страницы, где находится форма для заполнения логина и пароля не отображалась информация: "Не введен пароль", а вот после того, как пользователь нажал на кнопку submit, чтобы только потом проверялись данные.
Вот мой сценарий:
Код:
<?php
// авторизация
include 'admin/config.php'; // скрипт подключения к базе данных
session_start();
$login = addslashes(trim($_POST['login']));
$pass = addslashes(trim($_POST['pass']));
if (!isset($_POST['pass'])) // если не введен логин и/или пароль, то ошибка
{
echo "<b class=text>";
echo 'Не введен пароль';
echo "</b>";
exit;
}
$res = mssql_query('SELECT * FROM USERS WHERE login="'.$login.'" and pass="'.$pass.'"');
if(!mssql_num_rows($res))
{
// если введенный логин и/или пароль не существует, то ошибка
echo "<b class=text>";
echo 'Введенный пароль не существует!';
echo "</b>";
exit;
}
// устанавливаем куки с именем site. Срок действия 1.01.2007
setcookie('site[login]', $login, mktime(0,0,0,01,01,2007)); // записываем логин
setcookie('site[pass]', $pass, mktime(0,0,0,01,01,2007)); // пароль
$log = mssql_fetch_array($res);
$_SESSION['login'] = $log['login']; // устанавливаем логин в переменную сессии
$_SESSION['pass'] = $log['pass'];
header('location: admin/admin.php');
//include 'bottom.php';
?>
|
Заранее спасибо! | |
|
|
|
|
|
|
|
для: Vados
(11.08.2006 в 14:58)
| | Не понял я честно вопроса, но если делать в одном файле форму и обработчик то по такой схеме можно
<?
if($HTTP_GET_VARS['action']=='error'){
echo "Неверный пароль или имя';
}
if($HTTP_POST_VARS['action']=='yes'){
регистрируем даем сессии и прочие дела
если регистрация не удалась то action гробим и снова сами себя вызываем с ?action=error
}
?>
<form method=post action=<?$REQUEST_URI?>
здесь форма
<input type="hidden" name=action value=yes>
<input type=submit>
</form> | |
|
|
|
|
|
|
|
для: buka
(11.08.2006 в 17:43)
| | Смотри!
Просто при попадании на страницу ввода логина и пароля - скрипт сразу проверяет заполнение формы логина и пароля. Но мне нужно, чтобы скрипт проверял заполненые данные только после того как пользователь их ввёл и соответсвенно возвращал значение!
Но у меня при попадании на страницу формы ввода логина и пароля, сразу выдаётся сообщение:
Не введен пароль!
Как мне от этого избавиться? Какое условие необходимо написать?
Спасибо за помощь! | |
|
|
|
|
|
|
|
для: Vados
(11.08.2006 в 18:44)
| | Вот как раз то что выше тебе написал, так и сделай по такой схеме. Передаешь в форме параметр скрытый какой-нить потом обработчиком проверяешь - если есть - то проверять, если нет - вывести форму | |
|
|
|
|
|
|
|
для: Vados
(11.08.2006 в 18:44)
| | Можно код формы? | |
|
|
|
|
|
|
|
для: kasmanaft
(11.08.2006 в 19:28)
| | Привет!
Вот сама форма:
<form action="" method=post>
<tr><td><b class="text">Логин: </b><!--<input type=text name=login maxlength=10>!-->
<SELECT NAME="login" class="select">
<OPTION VALUE='user1' <?php if($login == user1) echo "selected";?> checked>user1
<OPTION VALUE='user2' <?php if($login == user2) echo "selected";?>>user2
<OPTION VALUE='user3' <?php if($login == user3) echo "selected";?>>user3
<OPTION VфALUE='user4' <?php if($login == user4) echo "selected";?>>user4
</SELECT>
</td></tr><br>
<tr><td><b class="text">Пароль: </b><input type="Password" name=pass maxlength=10 size="12"><input type="hidden" name="action" value="1"> </td></tr><br>
<tr><td colspan=2><input type=submit value='Вход' name="send"></td></tr>
</form>
|
Заранее спасибо! | |
|
|
|