Использование C # HttpWebRequest в переменной HttpWebResponse из Web-сервиса в операторе if - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть приложение C # Windows Form, отправляющее переменные в веб-сервис PHP.

Проверено отдельно:

1) Веб-сервис PHP работает и возвращает результат.

2) Приложение Windows C Form для отображения переменных в URL с WebRequest, переменные отображаются правильно в URL.

3) Когда я отображаю переменную возврата в C #, используя MessageBox.Show, отображается правильная переменная (Разрешить)

enter image description here

Но когда я использую возвращаемую переменную в операторе if, он не выполняет код внутри оператора if.

enter image description here

Здесьмой веб-сервис PHP:

<?php
// Database Structure 
require_once('connect.php');

//Get password from the database for the user

$stmtus = $conn->prepare("SELECT password from `Users` where `email` = :Username");
$stmtus->bindParam(':Username', $username);
$username= $_GET['username'];;
$stmtus -> execute();
$password = $stmtus->fetch();

$un = $_GET['username'];
$pw = $_GET['password'];
$ust = $_GET['Token'];

if(password_verify($pw, $password[0])){
$stmt = $conn->prepare("SELECT 
COUNT(Token) AS cnt FROM `SoftwareToken` 
LEFT JOIN User ON iduser = SoftwareToken.Consultant 
WHERE Token = :Token 
AND username = :Username");
$stmt->bindValue(':Username', $un);
$stmt->bindValue(':Token', $ust);
$stmt->execute();
$result= array();
while ($result = $stmt->fetch(PDO::FETCH_ASSOC)){
$cnt = $result['cnt'];
if($cnt == 1){
    echo "Allow";
}else{
    echo "NO";
} 
?>

Вот мой код приложения C # для Windows Form:

        private void btnlogin_Click(object sender, EventArgs e)
    {
        if (String.IsNullOrEmpty(txtusername.Text))
        {
            MessageBox.Show("Please insert username");
        }

        if (String.IsNullOrEmpty(txtpassword.Text))
        {
            MessageBox.Show("Please insert password");
        }
        var Token = "PYPYY 46355 R8T2Q2";
        var username = txtusername.Text;
        var password = txtpassword.Text;
        var url = "https://mydomain.com.au/LoginVerification.php?";
        var var = "username=" + username + "&password=" + password + "&Token=" + Token;
        var URL = url + var;
        // MessageBox.Show(URL);

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream dataStream = response.GetResponseStream();
        // Open the stream using a StreamReader for easy access.  
        StreamReader reader = new StreamReader(dataStream);
        // Read the content.  
        string responseFromServer = reader.ReadToEnd();
        //MessageBox.Show(responseFromServer);
        // Display the content.  

        if (responseFromServer == "Allow")
        {
            //Form1 identykidzform = new Form1();
            //identykidzform.Show();
            MessageBox.Show(responseFromServer);
        }
        else if (responseFromServer == "NO")
        {
            MessageBox.Show("No");
            //Application.Exit();
        }
        else
        {
            MessageBox.Show("Test failed");
            //Application.Exit();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...