Как проверить учетные данные пользователя в ioni c 3, используя PHP, MySql с помощью json - PullRequest
0 голосов
/ 21 апреля 2020

Я новичок в разработке c, но пытаюсь использовать знания jQuery, чтобы решить мою проблему, но, к сожалению, я ловкий. Я хочу выполнить проверку входа в систему, используя PHP, MySQL и JSON и сохраняя возвращаемые данные в localStorage.

Я считаю, что моя часть PHP и JSON хорошо заботится из.

Если пользователь вводит имя пользователя и пароль, ему необходимо проверить таблицу пользователей с помощью PHP и MySQL и проверить, является ли она действительной. Если имя пользователя и пароль совпадают, то статус = действительный.

В моем JSON я добавил действительный статус, данные json были возвращены из php, но строка if (this.data.loginStatus == 'Valid') { } не была выполнена. В чем может быть причина?

Вот те значения, которые были возвращены:

{"data":[
        {"loginStatus":"Valid",
         "CustomerName":"James Fred",
         "Mobile":null,
         "Email":"fred48@gmail.com",
         "CustomerID":"3"
        }
    ]
}

auth-service. js

login(credentials) {
    return new Promise((resolve, reject) => {
        this.http.post(apiUrl + '/login.php', JSON.stringify(credentials))
        .subscribe(res => {
            resolve(res.json());
        }, (err) => {
            reject(err);
        });
    });
}

login.ts

doLogin() {

    if(this.loginData.LoginID =='' || this.loginData.Password ==''){
        //presentToast(msg) {
        let toast = this.toastCtrl.create({
            message: "Please enter your username and password",
            duration: 3000,
            position: 'bottom',
            dismissOnPageChange: true
        });
        toast.onDidDismiss(() => {});
        toast.present();
    //}
    }else{
        this.showLoader();
        this.authService.login(this.loginData).then((result) => {
            this.data = result['data'];
            console.log("Result: "+ this.data);

            if (this.data.loginStatus == 'Valid') {
                localStorage.setItem('loginStatus', this.data.loginStatus);
                localStorage.setItem('CustomerName', this.data.CustomerName);
                localStorage.setItem('Mobile', this.data.Mobile);
                localStorage.setItem('Email', this.data.Email);
                localStorage.setItem('CustomerID', this.data.CustomerID);
                this.navCtrl.setRoot(MyApp);
                this.loading.dismiss();
            } else {
                document.getElementById('err-span').style.display = "block";
                this.loading.dismiss();
            }
    }, (err) => {
        this.loading.dismiss();
        this.presentToast(err);
    });
}
}

login. php

$data = file_get_contents("php://input");

if (isset($data)) {
    $request = json_decode($data);
    $LoginID = $request->LoginID;
    $Password = $request->Password;
}
$LoginID = $mysqli->real_escape_string($LoginID);
$Password = encryptIt($Password);

$result = mysqli_query($mysqli,"SELECT * 
                                FROM customer_login 
                                WHERE email = '$LoginID' 
                                AND password = '$Password'");
$count = mysqli_num_rows($result);
$response = array();
//the array that will hold the titles and links
$data = array();

if($count < 1) {
     $data[] = "Invalid details entered. Please try again.";
}else{
    //create an array
    while($row = mysqli_fetch_array($result)) {

        $loginStatus = 'Valid';
        $custname    =  $row['last_name'] .' '.$row['first_name'];
        $mobile      =  $row['mobile'];
        $email       =  $row['email'];
        $id          =  $row['id'];

        //each item from the rows go in their respective vars and into the posts array
        $data[] = array('loginStatus'=> $loginStatus, 
                        'CustomerName'=> $custname, 
                        'Mobile'=> $mobile, 
                        'Email'=>$email, 
                        'CustomerID'=>$id); 
    }
}
$response['data'] = $data;

echo json_encode($response);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...