0

因此,我试图在我的 vb.net 应用程序上创建一个登录表单,该表单将通过我的 php 脚本连接到我的 mysql 数据库中。所以我设置了一个 wampp 服务器来测试它。在下面得到我的php代码

    <?php
if($_POST)
{
    if(isset($_POST["username"]) && isset($_POST["password"]))
    {
        $connect = mysql_pconnect("localhost","root","");
        if($connect)
        {
            $select = mysql_select_db("ktmf",$connect);
            if($select)
            {
                $user = mysql_escape_string($_POST["username"]);
                $pwd = mysql_escape_string($_POST["password"]);
                $GetRows = mysql_query("SELECT * FROM users WHERE username='$user' AND password='$pwd'");
                $RowCount=mysql_num_rows($GetRows);
                if($RowCount>0)
                {
                    die("Correct !");
                }
                else
                {
                    die("Incorrect !");
                }
            }
            else
            {
                die("Unable to select database." . mysql_error());
            }
        }
        else
        {
            die("Unable connect to database." . mysql_error());
        }
    }
    else
    {
        die("Access Denied!");
    }
}
else
{
    die("Access Denied!");
}
?>

然后我在那里得到了我的 vb.net 代码

Imports System.Net
Imports System.Text

Public Class login


    Function AuthUser(ByVal AuthenticationPage As String, ByVal Username As String, ByVal Password As String) As Boolean
        Dim wc As New WebClient()
        wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
        Dim Data As String = String.Format("username={0}&password={1}", WebUtility.UrlEncode(Username), WebUtility.UrlEncode(Password))
        Dim ResponseBytes() As Byte = wc.UploadData(AuthenticationPage, "POST", Encoding.ASCII.GetBytes(Data))
        Dim Response As String = Encoding.ASCII.GetString(ResponseBytes)
        If Response.Contains("Correct") Then
            Return True
        Else
            Return False
        End If
    End Function



    Private Sub login_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If AuthUser("http://127.0.0.1/login.php", TextBox1.Text, TextBox2.Text) Then
            Me.Hide()
            works.Show()
        Else
            MsgBox("You have provided invalid username or password. Unable to login.")
        End If
    End Sub
End Class

因此,当我尝试使用应用程序登录时,我收到错误“您提供的用户名或密码无效。无法登录。” 我指定了错误的情况。

我仍然不知道我做错了什么,但是如果有人可以帮助我,我会很感激。谢谢

4

1 回答 1

0

您的问题不包含太多信息,因此仅笼统地说:

1)检查您得到的实际响应(如果有)

2)如果您没有得到任何响应,请检查 Web 服务器日志以查看请求是否存在

3) 在 VB.NET 上独立测试您的 PHP 脚本。例如,简单的 HTML 表单就可以了。

如果您根据上述发现与我们分享您的发现,您可能会得到更具体的答案。

于 2013-04-21T05:51:30.420 回答