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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: "Запомнить пароль" - как это делаеться?
 
 автор: shkryab   (09.10.2007 в 21:07)   письмо автору
 
 

В формах авторизации бывает галочка с названием "Запомнить пароль". Как такое делаеться? (не сама галочка и название, а запоминание пароля на компе пользователя)

   
 
 автор: Valick   (09.10.2007 в 21:21)   письмо автору
 
   для: shkryab   (09.10.2007 в 21:07)
 

куки

   
 
 автор: shkryab   (09.10.2007 в 21:24)   письмо автору
 
   для: Valick   (09.10.2007 в 21:21)
 

А по-конкретнее? Статью может какую-нибудь посоветуете, или кусок кода приведёте в пример?

   
 
 автор: Shorr Kan   (09.10.2007 в 21:29)   письмо автору
 
   для: shkryab   (09.10.2007 в 21:24)
 

Почитайте о функции setcookie();

   
 
 автор: shkryab   (09.10.2007 в 21:37)   письмо автору
 
   для: Shorr Kan   (09.10.2007 в 21:29)
 

О функции прочитал уже давно. Непонятно что в ей сохранять. id пользователя, его логин, пароль или что?

   
 
 автор: JIEXA   (09.10.2007 в 21:23)   письмо автору
 
   для: shkryab   (09.10.2007 в 21:07)
 

Если человек отметил "запомнить", то время куки например неделя, а если не отметил, то 1 час.
В таком духе..

   
 
 автор: fire_f12   (09.10.2007 в 22:58)   письмо автору
 
   для: 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

   
 
 автор: shkryab   (09.10.2007 в 23:04)   письмо автору
 
   для: fire_f12   (09.10.2007 в 22:58)
 

Спасибо!

   
Rambler's Top100
вверх

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