Php 导航到下一页:if语句don';无法在Xamarin中处理响应消息

Php 导航到下一页:if语句don';无法在Xamarin中处理响应消息,php,xamarin,request,Php,Xamarin,Request,我在Xamarin forms应用程序中有一个登录页面,该页面向PHP文件发送请求并检查用户名和密码,然后响应一条消息,C#代码: PHP页面如下所示: <?php $message = "Empty Field not Allowed"; include_once 'DbConnect.php'; $username = $_GET['username']; $password = md5($_GET['password']); $testuser

我在Xamarin forms应用程序中有一个登录页面,该页面向PHP文件发送请求并检查用户名和密码,然后响应一条消息,C#代码:

PHP页面如下所示:

<?php
$message = "Empty Field not Allowed";
include_once 'DbConnect.php';
$username = $_GET['username'];
$password = md5($_GET['password']);

    
    $testuser = "SELECT * FROM users Where username = '$username'";
    $testresult=mysqli_query($connection,$testuser);
    $counttest = mysqli_num_rows($testresult);

    if ($counttest == 0){
        $rigister=mysqli_query($connection,"INSERT INTO users Values ('','$username','$password')");
    }
    else {
        $user = "SELECT * FROM users Where username = '$username' and password = '$password'";
        $result=mysqli_query($connection,$user);
        $count = mysqli_num_rows($result);

        if ($count == 0){
            $message= "username or password is wrong";
        }
        else{
            $message ="Welcome";
        }
    }


echo $message;
?>

有两个
导航。在您单击的
登录
函数中,PushModalAsync
方法将直接调用第一个,当
响应
等于
欢迎
时,将调用第二个方法

因此,您的问题是由第一次
导航引起的。请将其删除,然后根据响应选择是否导航到MonthPage

private void Signin_Clicked(object sender, EventArgs e)
{
    string user = username.Text;
    string pass = password.Text;
    
    //remove this line
    //Navigation.PushModalAsync(new MonthPage());

    string response = SendRequest("xxx/api/xxx.php?username=" + user + "&password=" + pass);
    
    if (response == "Welcome")
    {
        Navigation.PushModalAsync(new MonthPage());

    }
    else
    {
        message.Text = response;
    }
}

您正在调用
Navigation.PushModalAsync(newmonthpage())两次,一次在IF语句之前,一次在ITI内部如果我的答案对您有帮助,请您接受它(单击☑️ 在这个答案的左上角),这样我们就可以帮助更多有同样问题的人:)。
private void Signin_Clicked(object sender, EventArgs e)
{
    string user = username.Text;
    string pass = password.Text;
    
    //remove this line
    //Navigation.PushModalAsync(new MonthPage());

    string response = SendRequest("xxx/api/xxx.php?username=" + user + "&password=" + pass);
    
    if (response == "Welcome")
    {
        Navigation.PushModalAsync(new MonthPage());

    }
    else
    {
        message.Text = response;
    }
}