login.php 956 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. function action($db = null){
  3. if (!isset($_POST['uname'], $_POST['password'])){
  4. return -1;
  5. }
  6. $uname = SQLite3::escapeString($_POST['uname']);
  7. if (strlen($uname) == 0){
  8. return -2;
  9. }
  10. $password = SQLite3::escapeString($_POST['password']);
  11. if (strlen($password) == 0){
  12. return -3;
  13. }
  14. $password = hash('sha256', $password);
  15. $q = $db->query("SELECT uid FROM player WHERE upper(name) = upper('$uname') AND password = '$password';");
  16. $r = $q->fetchArray(SQLITE3_ASSOC);
  17. if (!$r){
  18. return -4;
  19. }
  20. $uid = $r["uid"];
  21. setcookie("uid", $uid, time() + 5 * 24 * 60 * 60); // 5 Days
  22. session_regenerate_id();
  23. $_SESSION['session'] = true;
  24. $_SESSION['name'] = $uname;
  25. $_SESSION['uid'] = $uid;
  26. header("Location: /$uid/");
  27. die();
  28. return 0;
  29. }
  30. ?>