かなりの可能性があります。私は1つを提示しますが、これは1つではありません。
まず最初に、標準のコンテンツタイプ(おそらくtext/html
ですが、私はそれをチェックしていません)を使用しません。あなたは、コンテンツタイプとしてJSONやXMLを使用することができ、私はこれは必要ありませんここに
header("Content-Type: application/json");
JSONを使用します、我々はContent-Type
ヘッダ無視JSONを解析することができますが、それはきれいという方法です。
次はあなたが結果をフェッチするためにHttpClient
クラスを使用することができ、出力のC#側で
$arr = array('Status' => 1, 'Message' => 'Company Login Successful'); //or otherwise, depending on if the login *was* successful
echo json_encode($arr);
を生成する必要があります。
HttpClient httpClient = new HttpClient();
var httpResponseMessage = await httpClient.PostAsync($"http://www.yourserver.net/login.php", loginHttpContent);
var stream = await httpResponseMessage.ReadAsStreamAsync();
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(LoginResult));
var loginResult = serializer.ReadObject(stream) as LoginResult;
LoginResult
クラス:
[DataContract]
class LoginResult
{
[DataMember]
public int Status { get; set; }
[DataMember]
public string Message { get; set; }
}
ご注意:提供されたコードがすべての生産準備にちょうどスケッチとではありません。たとえば、あなたはなど、この時点でのHttpClientやDataContractJsonSerializer
を作成してリソースを正しく処分し、例外を処理してはならない
**パスワードを平文で保存しないでください!**。パスワードハッシュだけを保存してください! PHPの['password_hash()'](http://php.net/manual/en/function.password-hash.php)と['password_verify()'](http://php.net/manual/en /function.password-verify.php)。 5.5よりも低いバージョンのPHPを実行している場合は、[password_compat library](https://github.com/ircmaxell/password_compat)を使用して同じ機能を使用できます。 –
**あなたは[SQL Injections](http://php.net/manual/en/security.database.sql-injection.php)**を広く読んでおり、** [Prepared Statements](http: //php.net/manual/en/mysqli.quickstart.prepared-statements.php***。クエリを連結する代わりに、あなたがユーザーの入力をまったくエスケープしていないからです! –
これを確認してくださいhttp://stackoverflow.com/a/24859910/1849024 – imsome1