|
|
|
| В формах авторизации бывает галочка с названием "Запомнить пароль". Как такое делаеться? (не сама галочка и название, а запоминание пароля на компе пользователя) | |
|
|
|
|
|
|
|
для: shkryab
(09.10.2007 в 21:07)
| | куки | |
|
|
|
|
|
|
|
для: Valick
(09.10.2007 в 21:21)
| | А по-конкретнее? Статью может какую-нибудь посоветуете, или кусок кода приведёте в пример? | |
|
|
|
|
|
|
|
для: shkryab
(09.10.2007 в 21:24)
| | Почитайте о функции setcookie(); | |
|
|
|
|
|
|
|
для: Shorr Kan
(09.10.2007 в 21:29)
| | О функции прочитал уже давно. Непонятно что в ей сохранять. id пользователя, его логин, пароль или что? | |
|
|
|
|
|
|
|
для: shkryab
(09.10.2007 в 21:07)
| | Если человек отметил "запомнить", то время куки например неделя, а если не отметил, то 1 час.
В таком духе.. | |
|
|
|
|
|
|
|
для: shkryab
(09.10.2007 в 21:07)
| | у меня например так, функция авторизации с установкой в куках пользовательских данных:
<?php
function entry()
{
//пользователь отжал войти
$check = new check; // создаем объект класса проверки.
$nick=$_POST['nick'];
$pass=md5($_POST['pass']); //шифруем фхождение пароля, потому как сравнивать придется с хешем хранящемся в базе
if(!empty($_COOKIE['nick']) && !empty($_COOKIE['pass'])) //проверяем есть ли куки
{
$nick=$_COOKIE['nick'];
$pass=$_COOKIE['pass'];
}
@$nick=$check->tegi($nick); // проверяем вхождения
if(empty($nick) or empty($pass)) //если есть пустые поля отклоняемся записываем в журнал добавляем плюсик к порогу допустимых некоректных оппераций
{
$err=new error;
$err->err("при входе все поля обязательны для заполнения");
$_SESSION['no_access']++;
}
else //выбираем данные о пользователе по вхождениям
{
$sql="SELECT * FROM user WHERE login='".$nick."';";
$sql=new mysql($sql);
$array=mysql_fetch_array($sql->request);
if(!empty($array))
{
if($array['pass']===$pass)
{
//здесь раздача доступа 1-user 2-moder 3-admin
$_SESSION['access']=$array['access'];
$_SESSION['id_user']=$array['id_user'];
$_SESSION['user']=$array['login'];
$_SESSION['fio']=$array['fio'];
$array['entry']++;
$entry="UPDATE user SET
entry = '".$array['entry']."',
new_putdate = CURDATE( )
WHERE id_user = '".$_SESSION['id_user']."' LIMIT 1 ;";
$sql->mysql($entry);
$this->user("on");
if(!empty($_POST['save'])) //а вот здесь суть вашего вопроса, если поставлена галка сохранить устанавливаем в куках логинн и пароль для дальнейшей автоматической авторизации
{
setcookie("nick",$nick,time() + 2592000,"",$_SERVER['SERVER_NAME']);
setcookie("pass",$pass,time() + 2592000,"",$_SERVER['SERVER_NAME']);
}
}
else
{
$err=new error;
$err->err("не верно имя или пароль");
$_SESSION['no_access']++;
setcookie("nick","");
setcookie("pass","");
}
}
else
{
$err=new error;
$err->err("не верно имя или пароль");
$_SESSION['no_access']++;
setcookie("nick","");
setcookie("pass","");
}
}
}
?>
реализовано здесь http://omega.ladaaz.ru
|
| |
|
|
|
|
|
|
|
для: fire_f12
(09.10.2007 в 22:58)
| | Спасибо! | |
|
|
|