Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проверка авторизации

Сообщения:  [1-6] 

 
 автор: Vados   (12.08.2006 в 21:13)   письмо автору
 
   для: kasmanaft   (11.08.2006 в 19:28)
 

Привет!
Вот сама форма:

<form action="" method=post> 
<tr><td><b class="text">Логин:&nbsp;&nbsp;</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">Пароль:&nbsp;</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> 


Заранее спасибо!

   
 
 автор: kasmanaft   (11.08.2006 в 19:28)   письмо автору
 
   для: Vados   (11.08.2006 в 18:44)
 

Можно код формы?

   
 
 автор: buka   (11.08.2006 в 19:15)   письмо автору
 
   для: Vados   (11.08.2006 в 18:44)
 

Вот как раз то что выше тебе написал, так и сделай по такой схеме. Передаешь в форме параметр скрытый какой-нить потом обработчиком проверяешь - если есть - то проверять, если нет - вывести форму

   
 
 автор: Vados   (11.08.2006 в 18:44)   письмо автору
 
   для: buka   (11.08.2006 в 17:43)
 

Смотри!
Просто при попадании на страницу ввода логина и пароля - скрипт сразу проверяет заполнение формы логина и пароля. Но мне нужно, чтобы скрипт проверял заполненые данные только после того как пользователь их ввёл и соответсвенно возвращал значение!
Но у меня при попадании на страницу формы ввода логина и пароля, сразу выдаётся сообщение:
Не введен пароль!
Как мне от этого избавиться? Какое условие необходимо написать?
Спасибо за помощь!

   
 
 автор: buka   (11.08.2006 в 17:43)   письмо автору
 
   для: 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>

   
 
 автор: Vados   (11.08.2006 в 14:58)   письмо автору
 
 

Всем снова привет!
Подскажите, как именно можно задать условие таким образом, чтобы при открытии страницы, где находится форма для заполнения логина и пароля не отображалась информация: "Не введен пароль", а вот после того, как пользователь нажал на кнопку 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]'$loginmktime(0,0,0,01,01,2007)); // записываем логин
  
setcookie('site[pass]'$passmktime(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';
?> 


Заранее спасибо!

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования