我想知道为什么我的代码出现此通知错误
这是我的代码index.php。
<?php
require_once("DB.php");
$db = new DB("localhost", "unleashe_hotel", "root", "");
if ($_SERVER['REQUEST_METHOD'] == "GET") {
if ($_GET['url'] == "auth") {
} else if ($_GET['url'] == "users") {
}
} else if ($_SERVER['REQUEST_METHOD'] == "POST") {
if ($_GET['url'] == "auth") {
$postBody = file_get_contents("php://input");
// header('Content-Type: application/json')
$postBody = json_decode($postBody);
$username = $postBody->username;
$password = $postBody->password;
if ($db->query('SELECT username FROM users WHERE username=:username', array(':username'=>$username))) {
if (password_verify($password, $db->query('SELECT password FROM users WHERE username=:username', array(':username'=>$username))[0]['password'])) {
$cstrong = True;
$token = bin2hex(openssl_random_pseudo_bytes(64, $cstrong));
$user_id = $db->query('SELECT id FROM users WHERE username=:username', array(':username'=>$username))[0]['id'];
$db->query('INSERT INTO login_tokens VALUES (\'\', :token, :user_id)', array(':token'=>sha1($token), ':user_id'=>$user_id));
echo '{ "Token": "'.$token.'" }';
} else {
http_response_code(401);
}
} else {
http_response_code(401);
}
}
} else {
http_response_code(405);
}
?>
有人有什么建议吗?
答案 0 :(得分:3)
当您的请求方法在此处POST时,您正尝试使用$ _GET:
else if ($_SERVER['REQUEST_METHOD'] == "POST") {
if ($_GET['url'] == "auth") {
将其更正为
else if ($_SERVER['REQUEST_METHOD'] == "POST") {
if ($_POST['url'] == "auth") {