Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Галочка: Запомнить меня - PHP
Форумы портала PHP.SU » » HTTP и PHP » Галочка: Запомнить меня - PHP

Страниц (1): [1]
 

1. fourdeltaone - 29 Декабря, 2015 - 03:38:50 - перейти к сообщению
Здравствуйте! извиняюсь если не в том форуме создал тему!

ребята как сделать галочку 'запомнить меня' при авторизации

у меня вот такой код, куда что добавить подскажите.
кто сможет помочь написать этот модуль ? не за спасибо конечно!
движок используется phpvibe


CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. public static function LoginUser($id) {
  3. global $db;
  4. if($id && ($id > 0)) {
  5. user::LastLogin($id);
  6. $result = $db->get_row ("SELECT * FROM ".DB_PREFIX."users WHERE id ='" . sanitize_int($id) . "'");
  7. $new_pass = user::generateRandomNumber();
  8. user::ChangePass($id, $new_pass);
  9. user::setSessionData('bd_user',$result,$new_pass);
  10. }
  11. }
  12.  
  13.  
  14. public static function setSessionData($key, $val, $np =null) {
  15. global $db;
  16. if (!is_array($val)) {          $val = user::obj_to_array($val);                        }
  17. if (function_exists('session_regenerate_id')) { @session_regenerate_id(true);   }
  18. $_SESSION['logintype']      = toDb($val["type"]);
  19. $_SESSION['name']       = toDb($val["name"]);
  20. if(!is_null($np)) {
  21. $_SESSION['pass']         = $np; } else { $_SESSION['pass']         = toDb($val["pass"]); }                  
  22. $_SESSION['token']          = md5(uniqid(rand(), TRUE));
  23. $_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
  24. setcookie(COOKIEKEY, user::encrypt($_SESSION['user_id'].COOKIESPLIT.$_SESSION['pass'].COOKIESPLIT.get_ip(), SECRETSALT), time() + 60 * 60 * 24 * 5,'/', cookiedomain());
  25. }
  26.  
  27. public static function clearSessionData() {
  28. $_SESSION = array();
  29. session_destroy();
  30. setcookie(COOKIEKEY, '', -3600,'/', cookiedomain());
  31. if (nullval($_SESSION)) {
  32. session_start();
  33. }
  34. }
2. lastdays - 29 Декабря, 2015 - 04:45:36 - перейти к сообщению
Добавляешь Чекбокс в форму авторизации
Если true
Записываешь куку с нужными данными на какой-нибудь срок.
При следующем открытии сайта проверяешь куку, исходя из полученных данных - авторизируешь пользователя.
3. dcc0 - 29 Декабря, 2015 - 05:13:22 - перейти к сообщению
Все то же самое можно провернуть с БД.
4. fourdeltaone - 29 Декабря, 2015 - 12:54:06 - перейти к сообщению
спасибо за ваши ответы. конечно для вас это все проще простого, но я в этом деле не разбираюсь и поэтому у вас хотел спросить сможете помочь написать этот код (можно и через базу данных). заплачу сколько скажите. спасибо

 

Powered by ExBB FM 1.0 RC1