Вставка данных в postgres с использованием функции php с POSTMAN и JWT - PullRequest
0 голосов
/ 21 июня 2020

У меня есть два файла php с использованием postgres и почтальона. Я использую почтальон для токена JWT, чтобы вставить данные в таблицу. Но, похоже, появляется сообщение об ошибке: невозможно создать пользователя. кто угодно может помочь там, где я ошибаюсь. Неправильный ли запрос вставки? или вызывается какой-либо объект ошибки. спасибо.

  1. create_user. php
<?php
// required headers
header("Access-Control-Allow-Origin: http://localhost/project_03/");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
 
// files needed to connect to database
include_once 'config/database.php';
include_once 'objects/user.php';
 
// get database connection
$database = new Database();
$db = $database->getConnection();
 
// instantiate product object
$user = new User($db);
 
// get posted data
$data = json_decode(file_get_contents("php://input"));
 
// set product property values
$user->firstname = $data->firstname;
$user->email = $data->email;
$user->password = $data->password;
 
// create the user
if(
    !empty($user->firstname) &&
    !empty($user->email) &&
    !empty($user->password) &&
    $user->create()
){
     // set response code
    http_response_code(200);
 
    // display message: user was created
    echo json_encode(array("message" => "User was created."));
}
 
// message if unable to create user
else{
 
    // set response code
    http_response_code(400);
 
    // display message: unable to create user
    echo json_encode(array("message" => "Unable to create user."));
}
?>

2.user. php


<?php
// 'user' object
class User{
 
    // database connection and table name
    private $conn;
    private $table_name = "examp";
 
    // object properties
    public $id;
    public $firstname;
    //public $lastname;
    public $email;
    public $password;
 
    // constructor
    public function __construct($db){
        $this->conn = $db;
    }
 
// create new user record
function create(){
 


 
   $stmt = $this->conn->prepare("INSERT INTO" . $this->table_name . "(firstname,email,password) VALUES (:firstname,:email,:password)");
            
         
    // prepare the query
    //$stmt = $this->conn->prepare($query);
 
    // sanitize
    $this->firstname=htmlspecialchars(strip_tags($this->firstname));
     $this->email=htmlspecialchars(strip_tags($this->email));
    $this->password=htmlspecialchars(strip_tags($this->password));
 
    // bind the values
    $stmt->bindParam(':firstname', $this->firstname);
      $stmt->bindParam(':email', $this->email);
 
    // hash the password before saving to database
    $password_hash = password_hash($this->password, PASSWORD_BCRYPT);
    $stmt->bindParam(':password', $password_hash);
 
    // execute the query, also check if query was successful
    if($stmt->execute()){
        return true;
    }
 
    return false;
}

// emailExists() method will be here
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...