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

Categories

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."));                        
        // }



    }

   
    
}
?>

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

1 Answer

等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...