PHP оператор сравнения не работает в angular 8 приложении - PullRequest
0 голосов
/ 17 апреля 2020

Я работаю над школьным проектом. Сторона клиента находится в Angular 9, а сторона сервера - PHP, сделанная с SlimFramework v3.
Функция входа в систему в моем php бэкенде:

Контроллер. php

$app->post('/api/user/login', function(ServerRequestInterface $request, ResponseInterface $response) use ($app){
   $data = $request->getParsedBody();
   $email = $data['email_json'];
   $password = $data['password_json'];
   $freg = new FRegistrazione();
   $res = $freg->login($email, $password);
   if ($res = true){
    $secretKey = "Ma69r3Ga8A";
    $issuerClaim = "APACHESERVER";
    $audienceClaim = "CINEMA";
    $issuedatClaim = time();
    $notbeforeClaim = $issuedatClaim + 10;
    $expireClaim = $issuedatClaim + 60000;
    $token = array(
        "iss" => $issuerClaim,
        "aud" => $audienceClaim,
        "iat" => $issuedatClaim,
        "nbf" => $notbeforeClaim,
        "exp" => $expireClaim,
        "data" => array(
            "email" => $email,
            "password" => $password));
    $jwt = JWT::encode($token, $secretKey);
    $response = json_encode(
            array(
                "res" => "ok",
                "message" => "Login eseguito correttamente",
                "jwt" => $jwt,
                "email" => $email,
                "exipireAt" => $expireClaim
    ));
   } else {
       $response = json_encode(
            array(
                "res" => "ko",
                "message" => "Credenziali  errate"
    ));}
   return $response;
   });

Класс FRegistrazione. php

    public function login($email, $password) {
        $islogged = false;
        $query = 'SELECT * FROM registrazione WHERE email = ' . '\'' . $email . '\'' . ' AND password = ' . '\'' . $password . '\'';
        $res = $this->_connection->query($query);
        if ($res->num_rows == 1) {
    $islogged = true;} else {$islogged = false;}

Этот код работает правильно, если я отправляю запрос почтальону.
Но когда я отправляю запрос на вход из Angular9,

if ($res->num_rows == 1) {
    $islogged = true;} else {$islogged = false;}

всегда возвращает $islogged=false, даже в случае действительного запроса на Mysql.

...