2017-04-19 10 views
0

私はJotFormというフォームプロセッサを使用しています。フォームを提出すると、$ _POSTデータがあなたの選択したURLに送信されます。私がすべてのPOSTデータを印刷しようとすると、何らかの未知の理由で空の配列が得られるしかし、はゴダディでページをホストするときだけです。私はlocalhostでそれをホストし、問題はなかった。私はHenry's "POST Testing Page"という名前の人を使用し、すべてのデータがそこにありました。誰かが_POSTデータがGodaddy Webホスティングサーバーによってブロックされている問題がありましたか?

フォームURL:https://form.jotform.co/71083125989868

のGoDaddyはPOSTレシーバをホスティング:cyoacharters.com/post_test.php

私のPOST受信機のコード:ヘンリーのデータテスターに​​よって受信

<?php print_r ($_POST); ?> 

データ:

Time: Wed, 19 Apr 17 06:05:28 -0700 
 
Source ip: 199.77.132.36 
 

 
Headers (Some may be inserted by server) 
 
REQUEST_URI = /post.php 
 
QUERY_STRING = 
 
REQUEST_METHOD = POST 
 
GATEWAY_INTERFACE = CGI/1.1 
 
REMOTE_PORT = 52455 
 
REMOTE_ADDR = 199.77.132.36 
 
HTTP_ACCEPT_LANGUAGE = en-US,en;q=0.8 
 
HTTP_ACCEPT_ENCODING = gzip, deflate, br 
 
HTTP_REFERER = https://submit.jotform.co/submit/71083125989868/ 
 
HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 
 
CONTENT_TYPE = application/x-www-form-urlencoded 
 
HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 
 
HTTP_UPGRADE_INSECURE_REQUESTS = 1 
 
HTTP_ORIGIN = https://submit.jotform.co 
 
HTTP_CACHE_CONTROL = max-age=0 
 
CONTENT_LENGTH = 110 
 
HTTP_CONNECTION = close 
 
HTTP_HOST = posttestserver.com 
 
SSL_TLS_SNI = posttestserver.com 
 
HTTPS = on 
 
UNIQUE_ID = WPdgmEBaMGUAAFt7ZmUAAAAD 
 
REQUEST_TIME_FLOAT = 1492607128.5826 
 
REQUEST_TIME = 1492607128 
 

 
Post Params: 
 
key: 'submission_id' value: '3684163276328228389' 
 
key: 'formID' value: '71083125989868' 
 
key: 'ip' value: '199.77.132.36' 
 
key: 'firstname' value: 'John' 
 
key: 'lastname' value: 'Doe' 
 
key: 'rgb' value: 'Green' 
 
Empty post body. 
 

 
Upload contains PUT data: 
 
submission_id=3684163276328228389&formID=71083125989868&ip=199.77.132.36&firstname=John&lastname=Doe&rgb=Green

私は多分何かがあなたはそれが事実かもしれないと思うならば、ここでのPHP情報は、GoDaddyはウェブサイト上で私のPHPの設定で無効になっていることを考えていた:cyoacharters.com/phpinfo.php

このときポイント、私は完全に固執しています。どんな洞察力も大いにありがとう!

+0

これを試してください$ jsonData = file_get_contents( 'php:// input'); $ phpArray = json_decode($ jsonData、true) print_r($ phpArray、true); –

+0

@Avihaym - あなたは 'print_r($ phpArray、true);'(配列に 'y'がありません)を意味すると思います。 –

+0

あなたのphp.iniはうまく見えます。 (variables_orderはどのグローバル変数を使用できるかを指定するため、GET、POST、COOKIE、およびSESSIONを意味するGPCSがあります)。 max_input_varsを増やすこともお勧めします。 – Vladut

答えて

0

以下のコードから投稿データを取得することもできます。フォームがURLエンコードされていない場合は生データを返します

file_get_contents('php://input) 
0

Aha!この問題は実際にフォームサービスJotFormで発生していました。すべては、それがすべき方法で働いています。あなたの時間をありがとう。

関連する問題