php不会停止运行

php不会停止运行,php,mysql,json,Php,Mysql,Json,我是一名编程新手,因此对于我可能混淆的任何术语的误用,我提前表示歉意 我正在尝试使用php和mysql创建一个非常简单的登录应用程序。有3个文件:config.php、connection.php和login.php。我正在使用Postman测试我的输入和输出。但是,当我尝试运行php脚本时,它会给出以下结果(已更新): 我不知道发生了什么,我试着在youtube上看一个教程,检查我是否遗漏了什么,但找不到。。这是我的密码: config.php: <?php define('hostna

我是一名编程新手,因此对于我可能混淆的任何术语的误用,我提前表示歉意

我正在尝试使用php和mysql创建一个非常简单的登录应用程序。有3个文件:config.php、connection.php和login.php。我正在使用Postman测试我的输入和输出。但是,当我尝试运行php脚本时,它会给出以下结果(已更新):

我不知道发生了什么,我试着在youtube上看一个教程,检查我是否遗漏了什么,但找不到。。这是我的密码:

config.php:

<?php
define('hostname', 'localhost:80');
define ('username', 'root');
define ('password', 'root');
define ('dbname', 'finger');
?>

connection.php:

<?php
    require_once 'config.php';  
    class DB_connection{
        private $connect;
        function __construct(){
        $this -> connect = mysqli_connect(hostname, username, password, dbname) or die( "DB Connection error");
        }
        public function get_connection(){
        return $this-> connect;
        }
    }
?>

login.php:

<?php
require_once 'connection.php';

class User{
    private $db, $connection;
    function __construct(){
    $this->db = new DB_connection();
    $this -> connection = $this -> db -> get_connection();
    }

    public function does_user_exist($email, $password){

    $query = "Select * from users  where email  = '$email' and passwords = '$password'";
    $result = mysqli_query($this->connection, $query);
    if (mysqli_num_rows($result) > 0) {
    $json['success'] = 'Sign in success!';
    $json_encode ($json);
    mysqli_close($this ->connection);
    #return true;
    }
    else {
    $json['failure'] = 'Sign in Failure, check credentials!';
    $json_encode ($json);
    mysqli_close($this ->connection);
    #return false;
    }
    }

}

$user = new User();
if (isset ($_POST['email'], $_POST ['password'] )){
    $email = $_POST['email'];
    $password = $_POST['password'];

    if (!empty ($email) && !empty($password)){
    $encrypted_password= md5($password);
    $user -> does_user_exist($email, $encrypted_password);
    } 
    else{
    echo json_encode(" Please enter both fields! ");
    }
}

?>

您使用错误的方法获取电子邮件和密码的值

若要使用Post方法,那个么值将通过正文传递。但您正在查询字符串中传递电子邮件和密码的值

请使用$\u GET而不是$\u POST

$user = new User();
       if (isset ($_GET['email'], $_GET ['password'] )){
         $email = $_GET['email'];
       $password = $_GET['password'];

        if (!empty ($email) && !empty($password)){
           $encrypted_password= md5($password);
           $user -> does_user_exist($email, $encrypted_password);
        } 
    else{
    echo json_encode(" Please enter both fields! ");
    }
  }

永远不要存储纯文本密码!请使用来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u hash()。在散列之前,请确保对它们进行了清理或使用了任何其他清理机制。这样做会更改密码,并导致不必要的额外编码。您的脚本可能会出现错误。请查看甚至使用时发生的情况。请首先阅读并启用正确的PHP错误报告!它会提醒您出现错误,例如
$json\u encode($json)
这不会解决他的问题,但当他实际设置一个通过POST提交的真实登录表单时,会创建一个新的。