Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
970 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 Reply

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...