Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP跳过if块_Php_Vb.net - Fatal编程技术网

PHP跳过if块

PHP跳过if块,php,vb.net,Php,Vb.net,我用VisualBasic编写了一小段代码,将用户名和密码发布到本地托管的login.php,这。。某种程度上是可行的,但由于某种原因,PHP脚本完全跳过了检查参数username是否已设置的if语句,并返回-1 PHP代码: $connection = mysqli_connect('127.0.0.1', 'root', 'root', 'default'); if(mysqli_connect_errno()) stop('2'); if(isset($_POST['username']

我用VisualBasic编写了一小段代码,将用户名和密码发布到本地托管的login.php,这。。某种程度上是可行的,但由于某种原因,PHP脚本完全跳过了检查参数
username
是否已设置的if语句,并返回
-1

PHP代码:

$connection = mysqli_connect('127.0.0.1', 'root', 'root', 'default');
if(mysqli_connect_errno()) stop('2');

if(isset($_POST['username']) == true) {
    if(isset($_POST['password']) == true) {

        $username = mysqli_escape_string($connection, $_POST['username']);
        $password = mysqli_escape_string($connection, $_POST['password']);

        $query = mysqli_query($connection, "SELECT username,password,usersalt FROM Users WHERE username='$username';");

        if($result = $query) {
            while($row = mysqli_fetch_row($result)) {
                if($username == $row[0]) {
                    $password = sha1($password.$row[2]);

                        if($password == $row[1]) {
                            stop('5');
                        }

                    stop('4');
                } else { stop('3'); }
            }
        }
    } else { stop('1'); }
} else { stop('0'); }

stop('-1'); // Returns at this no matter what.

function stop($m) { global $connection;
    mysqli_close($connection);
    exit($m);
}
VB代码:

Public Function Login(Username As String, Password As String) As Int32
    Try
        If Username Is Nothing Then Return 0
        If Password Is Nothing Then Return 1

        Console.WriteLine("Establishing connection to login server")

        Dim Request As WebRequest = WebRequest.Create(Server & APIRequest.Login)
        Request.Method = "POST"
        Request.ContentType = "application/x-www-form-urlencoded"

        Dim Content As Byte() = Encoding.UTF8.GetBytes(String.Format("username={0}&password={1}", Username, Password))
        Request.ContentLength = Content.Length

        Console.WriteLine("Passing credentials to server")

        Dim DataStream As Stream = Request.GetRequestStream()
        DataStream.Write(Content, 0, Content.Length)
        DataStream.Close()

        Dim Response As WebResponse = Request.GetResponse()
        DataStream = Response.GetResponseStream()

        Console.WriteLine("Getting server response")

        Dim Reader As New StreamReader(DataStream)
        Dim ResponseString As String = Reader.ReadToEnd

        Reader.Close()
        DataStream.Close()
        Response.Close()

        If ResponseString IsNot Nothing Then
            Dim int As Int32 = -1
            Integer.TryParse(ResponseString, int)

            Console.WriteLine("Server response: {0}", int)

            Return int
        End If
    Catch Exception As Exception
    End Try

    Console.WriteLine("Unknown error occurred.")
    Return -1
End Function
VB输出:

Establishing connection to login server
Passing credentials to server
Getting server response
Server response: -1
更新


我已解决了在以下行中抛出的错误:
while($row=mysqli\u fetch\u row($result)){

我已将该行代码替换为:
$row=mysqli\u fetch\u row($result);

更改此选项

$connection = mysqli_connect('127.0.0.1', 'root', 'root', 'default');
if($connection->connect_errno()) stop('2');//add connection name
简介

  • 添加此
    $connection->
  • 更改此
    connect\u errno()
  • 改变这个

    $connection = mysqli_connect('127.0.0.1', 'root', 'root', 'default');
    if($connection->connect_errno()) stop('2');//add connection name
    
    简介

  • 添加此
    $connection->
  • 更改此
    connect\u errno()

  • 我已解决了在以下行中抛出的错误:
    while($row=mysqli\u fetch\u row($result)){

    我已将该行代码替换为:

    $row=mysqli\u fetch\u row($result);

    我已解决了发生在以下行的错误:
    while($row=mysqli\u fetch\u row($result)){

    我已将该行代码替换为:

    $row=mysqli\u fetch\u row($result);

    嗨,你能告诉我你到底在用VB和php做什么吗?我问这个是出于好奇。嗨,你能告诉我你到底在用VB和php做什么吗?我问这个是出于好奇。