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