Advertisement
Guest User

Untitled

a guest
May 13th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.29 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'],    $expire);
  18.         setcookie("username",   $_SESSION['username'],  $expire);
  19.         setcookie("password",   $_SESSION['password'],  $expire);
  20.         setcookie("sid",    $_SESSION['sid'],   $expire);
  21.         }
  22.         // Done Creating a happy cookie
  23.     }
  24.     // Validates a session with the db
  25.     function Validate($id = NULL, $username = NULL, $password = NULL, $sid = NULL) {
  26.         $fail=FALSE;
  27.         if(isset($_SESSION['username'])) {
  28.             $id     = $_SESSION['id'];
  29.             $username   = $_SESSION['username'];
  30.             $password   = $_SESSION['password'];
  31.             $sid        = $_SESSION['sid'];
  32.         }
  33.         elseif(isset($_COOKIE['username'])) {
  34.             $id     = $_COOKIE['id'];
  35.             $username   = $_COOKIE['username'];
  36.             $password   = $_COOKIE['password'];
  37.             $sid        = $_COOKIE['sid'];
  38.         }
  39.         elseif(isset($id)==TRUE && isset($username)==TRUE && isset($password)==TRUE && isset($sid)==TRUE) {
  40.             // do nothing, the values have been passed to this function, validate the values.
  41.         }
  42.         else {
  43.             $fail=TRUE;
  44.         }
  45.         $sql = "SELECT *
  46.                 FROM `users`
  47.                 WHERE
  48.                 `username`  = '".mysql_real_escape_string($username)."' AND
  49.                 `password`  = '".mysql_real_escape_string($password)."' AND
  50.                 `session_id`    = '".mysql_real_escape_string($sid)."' AND
  51.                 `ID`        = '".mysql_real_escape_string($id)."' LIMIT 0,1;";
  52.         $result = mysql_query($sql) or die('Error: ' . mysql_error());
  53.         $count = mysql_num_rows($result);
  54.        
  55.         if($count==1 && $fail==FALSE) {
  56.             return TRUE;
  57.         }
  58.         else {
  59.             return FALSE;
  60.         }
  61.        
  62.     }
  63.     // Login the user
  64.     function Login($username = NULL, $password = NULL) {
  65.         $sql =  "SELECT *
  66.                 FROM users
  67.                 WHERE `username` = '".mysql_real_escape_string($username)."'
  68.                 AND `password` = '".md5($password)."'
  69.                 LIMIT 0,1;";
  70.         $sqlresult  = mysql_query($sql) or die('Error: ' . mysql_error());
  71.         $count      = mysql_num_rows($sqlresult);
  72.         $user_row   = mysql_fetch_assoc($sqlresult);
  73.         if($count==1) {
  74.             return $user_row['ID'];
  75.         }
  76.         else {
  77.             return FALSE;
  78.         }
  79.     }
  80.     // Logout the user
  81.     function Logout($id = NULL, $username = NULL, $password = NULL, $sid = NULL) {
  82.         if(isset($id)==FALSE && isset($username)==FALSE && isset($password)==FALSE && isset($sid)==FALSE) {
  83.             $id     = $_SESSION['id'];
  84.             $username   = $_SESSION['username'];
  85.             $password   = $_SESSION['password'];
  86.             $sid        = $_SESSION['sid'];
  87.         }
  88.         if(Validate()==TRUE) {
  89.             $sql = "UPDATE `users`
  90.                     SET `session_id` = 'NULL'
  91.                     WHERE `ID` = 'ID';";
  92.             mysql_query($sql);
  93.             session_destroy();
  94.             setcookie("id",     "",     time()-3600);
  95.             setcookie("username",   "",     time()-3600);
  96.             setcookie("password",   "",     time()-3600);
  97.             setcookie("sid",    "",     time()-3600);
  98.             return TRUE;
  99.         } else {
  100.             return FALSE;
  101.         }
  102.     }
  103. }
  104. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement