0

PHP-MySql で認証を作成しましたが、正常に動作します。すべてが私が思うTextBoxを台無しにします。これは私のPHPコードです。エラーはありません。

<?php
include('../functions.php'); // connect mysqli
if ($_POST['form_name'] == 'loginform') {
  $crypt_pass = md5($_POST['password']);
  $found = false;

  $res = $mysqli->query("SELECT password FROM accounts WHERE username = '".$mysqli->real_escape_string($_POST['username'])."'");
  if ($data = $res->fetch_array()) {
    if ($crypt_pass == $data['password']) {
      $found = true;
    }
  }
  if ($found == false) {
    echo 'LoginFail';
  }
  else {
    echo 'LoginOK';
  }
}
?>

そして私のWebRequest:

 WebRequest request = WebRequest.Create("http://unknow.com/user/login2.php");
 request.Method = "POST";
 string postData = "form_name=loginform&username=" + LoginInput + 
      "&password=" + PasswordInput;
 byte[] byteArray = Encoding.UTF8.GetBytes(postData);
 request.ContentType = "application/x-www-form-urlencoded";
 request.ContentLength = byteArray.Length;
 Stream dataStream = request.GetRequestStream();
 dataStream.Write(byteArray, 0, byteArray.Length);
 dataStream.Close();
 WebResponse response = request.GetResponse();
 dataStream = response.GetResponseStream();
 StreamReader reader = new StreamReader(dataStream);
 string responseFromServer = reader.ReadToEnd();
 Console.WriteLine(responseFromServer);
 response_label.Text = responseFromServer;
 reader.Close();
 dataStream.Close();
 response.Close();

このコードで問題がなければ、PHP は「LoginOK」と通知します。

string postData="form_name=loginform&username=snosme&password=123456";

しかし、コードの場合:

string postData = "form_name=loginform&username=" + LoginInput + 
      "&password=" + PasswordInput;

PHPはLoginFailを教えてくれます。TextBoxに同じデータを入力しますが。どうしたの?

4

1 に答える 1