0

PHPでMySQLを使用して、Windows phoneでログインプロセスを作成したいと考えています。

以下は、データベースにアクセスするための私のコードです。動作していません。

XAML コード

    private void btnLogin_Click(System.Object sender, System.Windows.RoutedEventArgs e)
    {
        try
        {
            string url = "http://localhost/check_login/check.php";
            //string url = "http://localhost/sam.php";
            Uri uri = new Uri(url, UriKind.Absolute);

            StringBuilder postData = new StringBuilder();
            postData.AppendFormat("{0}={1}", "sUsername", HttpUtility.UrlEncode(this.txtUsername.Text));
            postData.AppendFormat("&{0}={1}", "sPassword", HttpUtility.UrlEncode(this.txtPassword.Password.ToString()));

            WebClient client = default(WebClient);
            client = new WebClient();
            client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
            client.Headers[HttpRequestHeader.ContentLength] = postData.Length.ToString();

            client.UploadStringCompleted += client_UploadStringCompleted;
            client.UploadProgressChanged += client_UploadProgressChanged;

            client.UploadStringAsync(uri, "POST", postData.ToString());
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

        prog = new ProgressIndicator();
        prog.IsIndeterminate = true;
        prog.IsVisible = true;
        prog.Text = "Loading....";
        SystemTray.SetProgressIndicator(this, prog);

    }

PHP コード

    <?php
$objConnect = mysql_connect("localhost","root","");
$objDB = mysql_select_db("login_db");

//$_POST["sUsername"] = "weerachai"; // for Sample
//$_POST["sPassword"] = "weerachai@1";  // for Sample

$strUsername = $_POST["sUsername"];
$strPassword = $_POST["sPassword"];
$strSQL = "SELECT * FROM member WHERE 1 
    AND Username = '".$strUsername."'  
    AND Password = '".$strPassword."'  
    ";

$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
$intNumRows = mysql_num_rows($objQuery);
if($intNumRows==0)
{
    echo "0|0|Incorrect Username and Password";
}
else
{
    echo "1|".$objResult["MemberID"]."|"."Valid User121";
}

/**
return 
x|y|z
    x // (0=Failed , 1=Complete)
    y // MemberID
    z // Error Message
*/

mysql_close($objConnect);

    ?>

エミュレーターでそのファイルを実行するために追加のものを追加することはわかりません。

私を助けてください。前もって感謝します。

4

1 に答える 1

0

問題は、エミュレーターから「localhost」に接続しようとしている可能性があります。

WP8 エミュレーターは別の仮想マシンです。このため、localhost をそれ自体と見なします。開発マシンで PHP スクリプトをホストしている場合は、エミュレーターからホスト名または IP アドレスで参照する必要があります。

于 2013-06-12T15:39:18.197 に答える