Как я могу сделать API редактирования для редактирования информации о студентах в базе данных после того, как они войдут в систему, без необходимости повторного ввода своего идентификатора?
Ниже мой маршрут входа в систему
$app->post('/login', function ($request, $response) {
$input = $request->getParsedBody();
$sql = "SELECT id, password FROM users WHERE id= :id";
$sth = $this->db->prepare($sql);
$sth->bindParam("id", $input['id']);
$sth->execute();
$user = $sth->fetchObject();
// verify email address
if(!$user) {
return $this->response->withJson(['error' => true, 'message' => 'NO ID '], 404);
}
// Compare the input password and the password from database for a validation
if (strcmp($input['password'],$user->password)) {
return $this->response->withJson(['error' => true, 'message' => 'These credentials do not match our records.'], 404)->withHeader('Content-type', 'application/json;charset=utf-8', 404);
}
return $this->response->withJson($input)->withStatus(200)->withHeader('Content-type', 'application/json;charset=utf-8', 200);
});
// Это новый, который я пробовал раньше, но получаю ошибку
$app->put('/address', function ($request, $response) {
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
if(empty($_SESSION['user_id'])) {
return $response->withJson(['error' => true, 'message' => 'Login please'], 403);
}
$input = $request->getParsedBody();
$sql = "INSERT INTO address (id, s_pNumber, s_address, s_pCode, s_city, s_state, s_country) VALUES
(:s_pNumber, :s_address, :s_pCode, :s_city, :s_state, :s_country) WHERE 'user_id' = :id;";
$sth = $this->db->prepare($sql);
$sth->bindParam("s_pNumber", $input['s_pNumber']);
$sth->bindParam("s_address", $input['s_address']);
$sth->bindParam("s_pCode", $input['s_pCode']);
$sth->bindParam("s_city", $input['s_city']);
$sth->bindParam("s_state", $input['s_state']);
$sth->bindParam("s_country", $input['s_country']);
$sth->execute();
return $response->withJson($input)->withStatus(200)->withHeader('Content-type', 'application/json;charset=utf-8', 200);
});
Это правильно, как я должен делать?Даже когда я уже пытаюсь поставить session_destory () для проверки кода, но он всегда будет возвращать true