login.php 887 B

1234567891011121314151617181920212223242526272829
  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. session_regenerate_id();
  22. $_SESSION['session'] = true;
  23. $_SESSION['name'] = $uname;
  24. $_SESSION['uid'] = $uid;
  25. header("Location: /$uid/");
  26. die();
  27. return 0;
  28. }
  29. ?>