当前位置:   article > 正文

php 登录与退出登录逻辑_php退出登录代码

php退出登录代码

 退出登录

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: liuan
  5. * Date: 2018-11-20 0020
  6. * Time: 11:20
  7. */
  8. header('content-type:text/html;charset=utf-8');
  9. include_once 'lib/fun.php';
  10. session_start();
  11. setcookie("username_auto_login",'',time()-1);
  12. setcookie("password_auto_login",'',time()-1);
  13. setcookie('auto_login', false, time() + 3600 * 24 * 30);
  14. unset($_SESSION['user']);
  15. msg(1, '退出登录成功!', 'index.php');

主要是会对cookie进行清除。

登录逻辑

  1. function login($username, $password, $isMd5 = true)
  2. {
  3. if (!$username) {
  4. return array(2, "用户名不能为空");
  5. }
  6. if (!$password) {
  7. return array(2, "密码不能为空");
  8. }
  9. $remember = isset($_POST['remember']) ? $_POST['remember'] : "";
  10. $auto_login = isset($_POST['auto_login']) ? $_POST['auto_login'] : "";
  11. // 数据库操作
  12. $con = mysqlinit();
  13. if (!$con) {
  14. return array(2, mysqli_error($con));
  15. }
  16. //根据用户名 查询用户
  17. $sql = "SELECT * FROM `la_user` WHERE `username`='{$username}' or `email`='{$username}' LIMIT 1";
  18. $obj = mysqli_query($con, $sql);
  19. $reslut = mysqli_fetch_assoc($obj);
  20. if (is_array($reslut) && !empty($reslut)) {
  21. //array(4) { ["id"]=> string(1) "1" ["username"]=> string(3) "123" ["password"]=> string(32) "c6db6ad7cb84d87426f9c620de3b7b68" ["create_time"]=> string(10) "1542452928" }
  22. $password = $isMd5 ? createPassword($password) : $password;
  23. if ($password === $reslut['password']) {
  24. $_SESSION['user'] = $reslut;
  25. if ($remember == 'on') {
  26. setcookie("username_remember", $username, time() + 3600 * 24 * 30, null, null, null, true);
  27. setcookie("password_remember", $password, time() + 3600 * 24 * 30, null, null, null, true);
  28. setcookie('remember', true, time() + 3600 * 24 * 30, null, null, null, true);
  29. } else {
  30. setcookie("username_remember", "", time() - 1, null, null, null, true);
  31. setcookie("password_remember", "", time() - 1, null, null, null, true);
  32. setcookie('remember', false, time() + 3600 * 24 * 30, null, null, null, true);
  33. }
  34. if ($auto_login == 'on') {
  35. setcookie("username_auto_login", $username, time() + 3600 * 24 * 30, null, null, null, true);
  36. setcookie("password_auto_login", $password, time() + 3600 * 24 * 30, null, null, null, true);
  37. setcookie('auto_login', true, time() + 3600 * 24 * 30, null, null, null, true);
  38. } else {
  39. setcookie("username_auto_login", "", time() - 1, null, null, null, true);
  40. setcookie("password_auto_login", "", time() - 1, null, null, null, true);
  41. setcookie('auto_login', false, time() + 3600 * 24 * 30, null, null, null, true);
  42. }
  43. //每次登录成功以后 就刷新登录时间
  44. $sql = "update `la_user` set `login_time`='{$_SERVER['REQUEST_TIME']}' where `username`='{$username}'or `email`='{$username}' limit 1";
  45. if (!$obj = mysqli_query($con, $sql)) {
  46. return array(2, mysqli_error($con));
  47. } else {
  48. mysqli_close($con);
  49. return array(1, "登录成功");
  50. }
  51. } else {
  52. mysqli_close($con);
  53. return array(2, "密码不正确,请重新输入");
  54. }
  55. } else {
  56. mysqli_close($con);
  57. return array(2, "用户不存在,请重新输入");
  58. }
  59. }

密码可以进行加密

  1. /**
  2. * 密码加密
  3. * @param $password
  4. * @return bool|string
  5. */
  6. function createPassword($password)
  7. {
  8. if (!$password) {
  9. return false;
  10. }
  11. return md5(md5($password) . "wft");
  12. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/751375
推荐阅读
相关标签
  

闽ICP备14008679号