Advertisement
Guest User

Untitled

a guest
May 12th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.66 KB | None | 0 0
  1. <?php
  2. class MySession
  3. {
  4.     // Creates a session
  5.     function Create($id = NULL, $username = NULL, $password = NULL, $cookie = FALSE) {
  6.         $_SESSION['id']     = $id;
  7.         $_SESSION['username']   = $username;
  8.         $_SESSION['password']   = md5($password);
  9.         $_SESSION['sid']    = md5(rand(1,1000) . rand(1,100) . rand(1,10));
  10.         $insert_session = "UPDATE `users`
  11.                    SET `session_id`     = '".mysql_real_escape_string($_SESSION['sid'])."'
  12.                    WHERE `id`       = '".mysql_real_escape_string($id)."';";
  13.         mysql_query($insert_session) or die('Error: ' . mysql_error());
  14.         // We create the cookie here
  15.         if($cookie!=FALSE){
  16.         $expire=time()+60*60*24*30;
  17.         setcookie("id", $_SESSION['id'], "username", $_SESSION['username'], "password", $_SESSION['password'], "sid", $_SESSION['sid'], $expire);
  18.         }
  19.         // Done Creating a happy cookie
  20.     }
  21.     // Validates a session with the db
  22.     function Validate($fail=FALSE) {
  23.         if(isset($_SESSION['username'])) {
  24.             $id     = $_SESSION['id'];
  25.             $username   = $_SESSION['username'];
  26.             $password   = $_SESSION['password'];
  27.             $sid        = $_SESSION['sid'];
  28.         } elseif(isset($_COOKIE['username'])) {
  29.             $id     = $_COOKIE['id'];
  30.             $username   = $_COOKIE['username'];
  31.             $password   = $_COOKIE['password'];
  32.             $sid        = $_COOKIE['sid'];
  33.         }else {
  34.             $fail=TRUE;
  35.         }
  36.         $sql = "SELECT *
  37.                 FROM `users`
  38.                 WHERE
  39.                 `username`  = '".mysql_real_escape_string($username)."' AND
  40.                 `password`  = '".mysql_real_escape_string($password)."' AND
  41.                 `session_id`    = '".mysql_real_escape_string($sid)."' AND
  42.                 `ID`        = '".mysql_real_escape_string($id)."' LIMIT 0,1;";
  43.         $result = mysql_query($sql) or die('Error: ' . mysql_error());
  44.         $count = mysql_num_rows($result);
  45.        
  46.         if($count==1 && $fail==FALSE) {
  47.             return TRUE;
  48.         }
  49.         else {
  50.             return FALSE;
  51.         }
  52.        
  53.     }
  54.     // Login the user
  55.     function Login($username = NULL, $password = NULL) {
  56.         $sql =  "SELECT *
  57.                 FROM users
  58.                 WHERE `username`    = '".mysql_real_escape_string($username)."'
  59.                 AND `password`      = '".md5($password)."'
  60.                 LIMIT 0,1;";
  61.         $sqlresult  = mysql_query($sql) or die('Error: ' . mysql_error());
  62.         $count      = mysql_num_rows($sqlresult);
  63.         $user_row   = mysql_fetch_assoc($sqlresult);
  64.         if($count==1) {
  65.             return $user_row['ID'];
  66.         }
  67.         else {
  68.             return FALSE;
  69.         }
  70.     }
  71.     // Logout the user
  72.     function Logout($id = NULL, $username = NULL, $password = NULL, $sid = NULL) {
  73.         if(Validate()==TRUE) {
  74.         $sql = "UPDATE `users`
  75.                 SET `session_id`    = 'NULL'
  76.                 WHERE `ID`      = '.mysql_real_escape_string($_SESSION['id']).';";
  77.         mysql_query($sql);
  78.         session_destroy();
  79.         setcookie("id", "", "username", "", "password", "", "sid", "", time()-3600);
  80.         return TRUE;
  81.         } else {
  82.         return FALSE;
  83.         }
  84.     }
  85. }
  86. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement