2017-05-16 22 views
0

サイト管理者のPHPファイルにJSONスクリプトを追加しようとしています。私の目標は、注文状況が3(出荷)に変更されたときにJSONを実行させることです。JSONをPHPファイルに追加

私はこれについてすべて間違っていると確信していますが、私はまだ何をすべきか分かりません。ここに私のコードは次のとおりです。すべての

  if (($check_status['orders_status'] != $status) && $check_status['orders_status'] == 3) { ?> 

       <script> 
       POST https://api.yotpo.com/oauth/token 


       { 
        "client_id": "### Your client_id ###", 
        "client_secret": "### Your client_secret ###", 
        "grant_type": "client_credentials" 
       } 


        POST https://api.yotpo.com/myapi/purchases 

        { 
         "validate_data": true, 
             "platform": "general", 
             "utoken": "### YOUR UTOKEN ###", 
             "email": "[email protected]", 
             "customer_name": "bob", 
             "order_id": "order_1", 
             "order_date": "2010-10-14", 
             "currency_iso": "USD", 
             "products": { 
         "SKUaaa12": { 
          "url": "http://example_product_url1.com", 
              "name": "product1", 
              "image": "http://images2.fanpop.com/image/photos/13300000/A1.jpg", 
              "description": "this is the description of a product", 
              "price": "100", 
              "specs": { 
           "upc": "USB", 
              "isbn": "thingy" 
              }, 
              "product_tags": "books" 
         } 
        } 
        } 
</script> 

    <?php  } ?> 

まず、ちょっと、これはタグ以外にもJSONであると言う私のコードには何もありません。

sepearate jsonファイルにjsonを置く必要がありますか?または、私はこのスクリプトをPHPに変換する必要がありますか?

+2

JSONはデータ形式であり、実行することはできません。 –

+0

@NikitaU。 POSTがHTMLなので、下のjsonデータ形式のデータをPOSTする方法を知っていますか? – Sackling

+0

たとえばjqueryを使用してください:http://stackoverflow.com/a/6323528/1809433 –

答えて

1

まず、ニキータはJSONが実行されていないことを正しく示しています - それはではなく、スクリプトです。これは情報を保存するための標準化された方法です。

PHPにはネイティブなJSON処理関数があり、既存のオブジェクトや配列を簡単に取り込んでJSONに変換することができます。あなたは次のページに、この変数$jsonを送信する際にJavaScriptがに文字列化するために素敵な機能を実行してもそう

$my_data = json_decode($_POST['post_data']);

これは、純粋なPHPの実装であるよう

<?php 

$json = json_encode($my_data); 

?> 

<input type="hidden" name="post_data" <?php echo 'value="'.$json.'" ?> /> 

その後、あなたはそれを解凍します/ jsonからも。

+0

私はもう少し良く理解するためにそれを敷設していただきありがとうございます。この例では$ my_data = jsonデータそのものをテキストとして設定しますか?例えば$ my_date = "" client_id ":" ###あなたのclient_id ### "、 " client_secret ":" ###あなたのclient_secret ### ""; – Sackling

+0

もう一つは、私がやっているのと同じサーバーの代わりにhttps://api.yotpo.com/oauth/tokenに投稿するにはどうしたらいいですか? – Sackling

+0

はい、 'json_encode([$ value])'関数の戻り値は、jason形式のデータの文字列です。 同じサーバーにない他のサイトへの投稿を作成するには、cURLを参照する必要があります。これはAJAXと似ていますが、これはjavascriptで使用されますが、PHPで動作し、より多くのパワーを持っています。 http://php.net/manual/en/curl.examples-basic.php – Naltroc

関連する問題