You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

login.inc 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. require_once "dbase.inc";
  3. //test input forms
  4. function test_input($data)
  5. {
  6. $data = trim($data);
  7. $data = stripslashes($data);
  8. $data = htmlspecialchars($data);
  9. return $data;
  10. }
  11. //send login info to db
  12. function loginUser()
  13. {
  14. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  15. global $dbase;
  16. $login = test_input($_POST["login"]);
  17. $password = test_input($_POST["password"]);
  18. if (!preg_match("/^[a-zA-Z0-9]+$/", $login)) {
  19. return "<span class=\"loginform__input__items errormessage\">ongeldige loginnaam, enkel letters en cijfers toegelaten</span>";
  20. }
  21. $loginQuery = $dbase->loginQuery($login, $password);
  22. // apart resultaat als spelerId niet in db
  23. if ($loginQuery) {
  24. $_SESSION['spelerId'] = $loginQuery['id'];
  25. $_SESSION['spelerNaam'] = $loginQuery['login'];
  26. header('Location: game.php');
  27. exit();
  28. } else {
  29. return "<span class=\"loginform__input__items errormessage\">Foutieve login of paswoord</span>";
  30. }
  31. }
  32. }
  33. //send register info to db
  34. function registerUser()
  35. {
  36. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  37. global $dbase;
  38. $login = test_input($_POST["login"]);
  39. $password = test_input($_POST["password"]);
  40. if (!preg_match("/^[a-zA-Z0-9]+$/", $login)) {
  41. return "<span class=\"loginform__input__items errormessage\">ongeldige loginnaam, enkel letters en cijfers toegelaten</span>";
  42. }
  43. $queryResult = $dbase->registerQuery($login);
  44. if ($queryResult) {
  45. return "<span class=\"loginform__input__items errormessage\">Loginnaam al in gebruik</span>";
  46. } else {
  47. $dbase->registerInsert($login, $password);
  48. header('Location: index.php');
  49. exit();
  50. }
  51. }
  52. return;
  53. }
  54. //auto timeout after ... minutes
  55. function loginTimout()
  56. {
  57. if (!isset($_SESSION["logTime"])) {
  58. $_SESSION["logTime"] = time();
  59. }
  60. if (isset($_SESSION['spelerId'])) {
  61. $nu = time();
  62. $delta = $nu - $_SESSION["logTime"];
  63. if ($delta < 15 * 60) {
  64. $_SESSION["logTime"] = time();
  65. } else {
  66. session_unset();
  67. session_destroy();
  68. header("location: index.php");
  69. exit();
  70. }
  71. }
  72. }
  73. function checkLogin()
  74. {
  75. if (!($_SESSION['spelerId'] && isset($_SESSION['spelerNaam']))) {
  76. header('Location: index.php');
  77. exit();
  78. }
  79. }
  80. function logoutUser()
  81. {
  82. if (isset($_POST['logout'])) {
  83. session_destroy();
  84. header('Location: index.php');
  85. exit();
  86. }
  87. }