Guest User

Untitled

a guest
May 8th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.66 KB | None | 0 0
  1. <?php
  2. require_once($_SERVER['DOCUMENT_ROOT'].'/static/config.php');
  3.  
  4. class database {
  5.    
  6.     function __construct() {
  7.         mysql_connect(DB_HOST, DB_USER, DB_PASS);
  8.         mysql_select_db(DB) or die("Could not connect to database.");
  9.     }
  10.    
  11.     function query($query) {        //just in case we want to do anything to the queries before we pass them off
  12.         $data = mysql_query($query);
  13.         return $data;
  14.     }
  15.    
  16.     function check_username($username) {        //add regex for valid username
  17.         $username = $this->sanitize($username);
  18.         $query = $this->query("SELECT * FROM users WHERE username='$username'");
  19.         if(mysql_num_rows($query) == 0) {
  20.             return true;
  21.         }
  22.         else {
  23.             return false;
  24.         }
  25.     }
  26.    
  27.     function sanitize($data) {      //additional sanitizations?
  28.         $data = mysql_real_escape_string($data);
  29.         return $data;
  30.     }
  31.    
  32. }  
  33. $database = new database;
  34.  
  35. class user {
  36.    
  37.     function register($username, $email, $re_email, $password, $re_password, $agree) {          //add error checking
  38.         global $database;
  39.         if($agree) {
  40.             if($email == $re_email && $this->check_email($email)) {
  41.                 if($password == $re_password && $this->check_password($password)) {
  42.                     if($database->check_username($username)) {
  43.                         $username = $database->sanitize($username);
  44.                         $email = $database->sanitize($email);
  45.                         $salt = dechex(rand(0,1000000));
  46.                         $password = $database->sanitize($password);
  47.                         $password = md5($salt.$password);
  48.                         $query = $database->query("INSERT INTO users (username, email, salt, password, level) VALUES ('$username','$email','$salt','$password', '1')");
  49.                     }
  50.                 }
  51.             }
  52.         }
  53.     }
  54.    
  55.    
  56.    
  57.     function check_email($email) {
  58.         if(preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
  59.             return true;
  60.         }
  61.         else {
  62.             return false;
  63.         }
  64.     }
  65.    
  66.     function check_password($password) {        //check password complexity
  67.     }
  68.    
  69. }
  70. $user = new user;
  71.  
  72. class session {
  73.    
  74.     function __construct() {        //have to check if this is the right location for session_start()
  75.         session_start();
  76.     }
  77.    
  78.     function login($username, $password) {
  79.         global $database;
  80.         $username = $database->sanitize($username);
  81.         $password = $database->sanitize($password);
  82.         $query = $database->query("SELECT salt FROM users WHERE username='$username'");
  83.         $salt = mysql_fetch_array($query);
  84.         $password = md5($salt["salt"].$password);
  85.        
  86.         $query = $database->query("SELECT * FROM users WHERE username='$username' AND password='$password'");
  87.         if(mysql_num_rows($query) > 0) {
  88.             $userid = rand();
  89.             $_SESSION["username"] = $username;
  90.             $_SESSION["userid"] = $userid;
  91.             $database->query("UPDATE users SET userid='$userid' WHERE username='$username'");
  92.             setcookie("username", $username, time()+86400, "/");
  93.             setcookie("userid", $userid, time()+86400, "/");
  94.         }
  95.     }
  96.    
  97.     function logout() {
  98.         setcookie("username", "", time()-86400, "/");
  99.         setcookie("userid", "", time()-86400, "/");
  100.         unset($_SESSION["username"]);
  101.         unset($_SESSION["userid"]);
  102.     }
  103.    
  104.     function is_loggedin() {
  105.         global $database;
  106.         if(isset($_COOKIE["username"]) && isset($_COOKIE["userid"])) {
  107.             $username = $_COOKIE["username"];
  108.             $userid = $_COOKIE["userid"];
  109.             $query = $database->query("SELECT * FROM users WHERE username='$username' AND userid='$userid'");
  110.             if(mysql_num_rows($query) > 0) {
  111.                 $_SESSION["username"] = $_COOKIE["username"];
  112.                 $_SESSION["userid"] = $_COOKIE["userid"];
  113.             }
  114.             else {
  115.                 setcookie("username", "", time()-86400, "/");
  116.                 setcookie("userid", "", time()-86400, "/");
  117.             }
  118.         }
  119.         if(isset($_SESSION["username"]) && isset($_SESSION["userid"]) && isset($_COOKIE["username"]) && isset($_COOKIE["userid"])) {
  120.             return true;
  121.         }
  122.     }
  123.    
  124. }
  125. $session = new session;
  126.  
  127. ?>
Add Comment
Please, Sign In to add comment