Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
967 views
in Technique[技术] by (71.8m points)

postman - PHP script not receiving data

I have been looking at several php codes trying to find out the problem with my code, and why it wont receive data from post below is my php code can any one tell me whats up with it

i am trying to send audio data with the name of the audio file through this php file the php script is supposed to receive the audio file create then audio object and then extract the name and audio part from the file but when i send the data to test it through postman i get 400 error message as i have set it up to indicate error but i do not understand why this is happening

<?php

include_once '../../configration/database.php';
include_once '../../objects/sound.php';
// JWT TOKEN VALIDATION


$data = json_decode(file_get_contents("php://input"));

$database = new Database();
$conn     = $database->getConnection();

// CONTROL

 $sound = new Sound($conn);

// make sure data is not empty
    if (
        !is_null($data->$filename)
        && !is_null($data->$extension)
        && !is_null($data->$waveform)   )
    {
    
    $sound->filename                  = $data->filename;
    $sound->extension               = $data->extension;
    $sound->waveform           = $data->waveform; 
    
    // create the product
    if ($sound->create_new())
    {
        
        http_response_code(200);
    }
    else
    {
        
        http_response_code(503);
        
        echo json_encode(array(
            "message" => "Unable to create sound."
        ));
    }
}

else {
    
    http_response_code(400);
    echo json_encode(array(
        "message" => "Unable to create sound. Data is incomplete."
    ));
}



?>

the database.php file is as follows

<?php
include_once 'GlobalConfig.php';

class Database
{

    public $conn;

    public function getConnection(){
        $config= new GlobalConfig();
        $this->conn = null;

        try{
            $dsn = "mysql:host={$config->host};port={$config->port};dbname={$config->db_name};charset=utf8";

            $this->conn = new PDO($dsn, $config->username, $config->password);
            $this->conn->exec("set names utf8");
        }catch(PDOException $exception){
            echo "Connection error: " . $exception->getMessage();
        }

        return $this->conn;
    }

    public function getConnectionAndValidate($data){

        $this->conn = null;
        $config= new GlobalConfig();

        try{
            $dsn = "mysql:host={$config->host};port={$config->port};dbname={$config->db_name};charset=utf8";

            $this->conn = new PDO($dsn, $config->username, $config->password);
            $this->conn->exec("set names utf8");
            }catch(PDOException $exception){
            echo "Connection error: " . $exception->getMessage();
        }

        if (!validateToken($data->JWT, $data->UserID, $this->conn)){
          http_response_code(401);
        echo "Authorization: declined";
          exit();
        }

        return $this->conn;
    }

}

THE sound.php FILE IS AS FOLLOWS

<?php
class Sound
{
    
    private $conn;
    private $table_name = "";
    public $filename;
    public $extension;
    public $waveform;
    public $path;
 
 
    public function __construct($db)
    {
        $this->conn = $db;
    }   

    function create_new()
    {
        
        $this->path = $this->filename .".". $this->extension;
       
            $myfile = fopen($this->path, "w") or die("Unable to open file!");
             
            fwrite($myfile, $this->waveform);
             
            
            fclose($myfile);
        

        // $query = " INSERT INTO `tbl_address` 
        // (`contact_number`,`UserID` ,`billing_street_address`, `billing_city_address`, `billing_state_address`, `billing_country_address`, `billing_zip`,
        //  `shipping_street_address`, `shipping_city_address`, `shipping_state_address`, `shipping_country_address`, `shipping_zip`) 

        // VALUES (:contact_number,'$this->user_id', :billing_street_address, :billing_city_address, :billing_state_address, :billing_country_address, :billing_zip, 
        // :shipping_street_address, :shipping_city_address, :shipping_state_address, :shipping_country_address, :shipping_zip);";
        
        // $stmt                           = $this->conn->prepare($query);
        // $this->contact_number           = htmlspecialchars(strip_tags($this->contact_number));
        // $this->billing_street_address   = htmlspecialchars(strip_tags($this->billing_street_address));
        // $this->billing_city_address     = htmlspecialchars(strip_tags($this->billing_city_address));
        // $this->billing_state_address    = htmlspecialchars(strip_tags($this->billing_state_address));
        // $this->billing_country_address  = htmlspecialchars(strip_tags($this->billing_country_address));
        // $this->billing_zip              = htmlspecialchars(strip_tags($this->billing_zip));
        // $this->shipping_street_address  = htmlspecialchars(strip_tags($this->shipping_street_address));
        // $this->shipping_city_address    = htmlspecialchars(strip_tags($this->shipping_city_address));
        // $this->shipping_state_address   = htmlspecialchars(strip_tags($this->shipping_state_address));
        // $this->shipping_country_address = htmlspecialchars(strip_tags($this->shipping_country_address));
        // $this->shipping_zip             = htmlspecialchars(strip_tags($this->shipping_zip));
        
        // // bind values
        // $stmt->bindParam(":contact_number", $this->contact_number);
        // $stmt->bindParam(":billing_street_address", $this->billing_street_address);
        // $stmt->bindParam(":billing_city_address", $this->billing_city_address);
        // $stmt->bindParam(":billing_state_address", $this->billing_state_address);
        // $stmt->bindParam(":billing_country_address", $this->billing_country_address);
        // $stmt->bindParam(":billing_zip", $this->billing_zip);
        // $stmt->bindParam(":shipping_street_address", $this->shipping_street_address);
        // $stmt->bindParam(":shipping_city_address", $this->shipping_city_address);
        // $stmt->bindParam(":shipping_state_address", $this->shipping_state_address);
        // $stmt->bindParam(":shipping_country_address", $this->shipping_country_address);
        // $stmt->bindParam(":shipping_zip", $this->shipping_zip);
        
        // if ($stmt->execute()) {
        //         $this->address_id = $this->conn->lastInsertId();
        // } 
        // else {
        //     echo json_encode(array("message" => "Unable to get address."));                        
        // }



    }

   
    
}
?>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...