connect_error) { http_response_code(500); exit('{"napaka":true,"obvestilo":"Napaka strežnika pri povezavi v podatkovno zbirko."}'); } $query = "CREATE TABLE IF NOT EXISTS kolesa ( omogoceno INT, ime VARCHAR(420), admin VARCHAR(420) ); CREATE TABLE IF NOT EXISTS ljudje ( ime VARCHAR(420) PRIMARY KEY, izbranec VARCHAR(420), kolo VARCHAR(420), krneki VARCHAR(420) )"; $result = $conn->query($query); var_dump($result); var_dump($conn->error); if (empty($_REQUEST['k'])) { http_response_code(400); exit ('{"napaka":true,"obvestilo":"Ne vem, na katero kolo se sklicuješ, ker manjka parameter k."}'); } switch ($_REQUEST['m']) { case "r": /* registracija */ if (empty($_REQUEST['i'])) { http_response_code(400); exit ('{"napaka":true,"obvestilo":"Ne vem, kako ti je ime, ker manjka parameter i"}'); } $stmt2 = $conn->prepare("SELECT omogoceno FROM `kolesa` WHERE `ime`=?"); $stmt2->bind_param("s", $_REQUEST["k"]); $stmt2->execute(); $stmt2->bind_result($omogoceno); $stmt2->fetch(); if ($omogoceno != 0) { http_response_code(400); exit ('{"napaka":true,"obvestilo":"Ne morem registrirati novih ljudi, ker se je vrtenje koles že začelo.}'); } $stmt2->close(); $stmt = $conn->prepare("INSERT INTO ljudje (ime, kolo) VALUES (?, ?) ON DUPLICATE KEY UPDATE `krneki`='123'"); $stmt->bind_param("ss", $_REQUEST["i"], $_REQUEST["k"]); $stmt->execute(); $stmt->close(); http_response_code(201); exit ('{"napaka":false,"obvestilo":"Uporabnik registriran!"}'); break; case "z": /* zakleni kolo, omogoči vrtenje, naključno razporedi osebe */ $stmt = $conn->prepare("SELECT admin FROM kolesa WHERE `ime`='?'"); $stmt->bind_param("s", $_REQUEST["k"]); $stmt->execute(); $stmt->bind_result($admin_pass); $stmt->fetch(); if ($_REQUEST['g'] !== $admin_pass) { http_response_code(400); exit ('{"napaka":true,"obvestilo":"Ne bom zaklenil tega kolesa, ker niste administrator."}'); } $stmt->close(); $stmt = $conn->prepare("UPDATE kolesa SET `omogoceno`=1 WHERE `ime` = '?'"); $stmt->bind_param("s", $_REQUEST["k"]); $stmt->execute(); $stmt->close(); $stmt2 = $conn->prepare("SELECT ime FROM ljudje WHERE `kolo`=?"); $stmt2->bind_param("s", $_REQUEST["k"]); $stmt2->execute(); $result = $stmt->get_result(); $ljudje = $result->fetch_all(MYSQLI_ASSOC); $ljudje2 = $ljudje; shuffle($ljudje); for ($i = 0; $i < sizeof($ljudje);) { if ($ljudje[$i] == $ljudje2[$i]) { shuffle($ljudje); $i = 0; continue; } $i++; } $stmt3 = $conn->prepare("UPDATE ljudje SET `izbranec`=? WHERE `ime`=?"); for ($i = 0; $i < sizeof($ljudje); $i++) { $stmt3->bind_param("ss", $ljudje[$i], $ljudje2[$i]); $stmt3->execute(); } $stmt3->close(); $stmt2->close(); http_response_code(200); exit ('{"napaka":false,"obvestilo":"uspešno zaklenil kolo."}'); break; case "u": /* srčni utrip */ $r = array(); $stmt2 = $conn->prepare("SELECT ime FROM ljudje WHERE `kolo`=?"); $stmt2->bind_param("s", $_REQUEST["k"]); $stmt2->execute(); $result = $stmt->get_result(); $ljudje = $result->fetch_all(MYSQLI_ASSOC); $r["moznosti_na_kolesu"] = $ljudje; $stmt = $conn->prepare("SELECT admin FROM kolesa WHERE `ime`=?"); $stmt->bind_param("s", $_REQUEST["k"]); $stmt->execute(); $stmt->bind_result($admin_pass); $stmt->fetch(); if ($admin_pass === $_REQUEST["g"]) { $r["si_administrator"] = true; } else { $r["si_administrator"] = false; $r["si_administrator"] = false; } $stmt3 = $conn->prepare("SELECT omogoceno FROM `kolesa` WHERE `ime` = ?"); $stmt3->bind_param("s", $_REQUEST["k"]); $stmt3->execute(); $stmt3->bind_result($omogoceno); $stmt3->fetch(); if ($omogoceno !== 1) { $r["dovoli_vrtenje"] = false; } else { $r["dovoli_vrtenje"] = true; } $r["napaka"] = false; $stmt2->close(); $stmt->close(); $stmt3->close(); http_response_code(200); exit (json_encode($r)); break; case "v": /* vrti */ $stmt3 = $conn->prepare("SELECT omogoceno FROM `kolesa` WHERE `ime` = ?"); $stmt3->bind_param("s", $_REQUEST["k"]); $stmt3->execute(); $stmt3->bind_result($omogoceno); $stmt3->fetch(); if ($omogoceno !== 1 /* a je vrtenje nedovoljeno */) { http_response_code(400); exit ('{"napaka":true,"obvestilo":"Ne morem vrteti, ker vrtenja še ni odobril administrator"}'); } if (empty($_REQUEST["i"])) { http_response_code(400); exit ('{"napaka":true,"obvestilo":"Ne morem vrteti, ker nimam vašega imena."}'); } $stmt2 = $conn->prepare("SELECT izbranec FROM `ljudje` WHERE `ime` = ?"); $stmt2->bind_param("s", $_REQUEST["i"]); $stmt2->execute(); $stmt2->bind_result($izbranec); $stmt2->fetch(); $r["izbranec"] = $izbranec; $r["napaka"] = false; $stmt3->close(); $stmt2->close(); http_response_code(200); exit(json_encode($r)); break; default: http_response_code(400); exit ('{"napaka":true,"obvestilo":"Ne vem, kaj hočeš,. ker je bila zahtevana napačna metoda, parameter m."}'); break; } ?>