2016-02-09 14 views
9

$_POSTは動作しないようです。私はPhpStorm 10.0.3をインストールし、WAMPサーバーのデフォルトのPHPインタープリタを使用しています。 index.phpの中

:a.phpで

<form method='post' action='a.php'> 
    <input type='text' name='user_f'> 
    <input type='submit' name='send' value='Send'> 
</form> 

var_dump($GLOBALS); 

私は形で "ASDF" と入力します。

array (size=9) 
     'HTTP_RAW_POST_DATA' => string 'user_f=asdf&send=Send' (length=22) 
     '_GET' => 
     array (size=0) 
      empty 
     '_POST' => 
     array (size=0) 
      empty 
     '_COOKIE' => 
     array (size=0) 
      empty 
     '_FILES' => 
     array (size=0) 
      empty 
     '_ENV' => 
     array (size=0) 
      empty 
     '_REQUEST' => 
     array (size=0) 

$_GETが良い作品通訳者が$_POSTという変数を記入していないようです。

php.version:5.4.12(http://php.net/downloads.phpから5.6.18を使用して、同じ問題と7通訳)

このバージョンのphp.iniファイル:(WAMPからのデフォルト)(3306のような

他のポート)for MySQLはPhpStormでうまくいきます。

Xdebugのポート(phpMyAdminにとの接続はOKです):内蔵のサーバポート9000 PhpStorm:私は、デフォルトのローカルホストでは、NetBeans IDEからビルドする場合は63342

すべてが良い作品:私の中に8000

同じ問題ラップトップ。

+13

使用のApache(または任意の他の適切なWebサーバーを)ノートウェブリクエスト。現時点では、PhpStormの内蔵のシンプルなWebサーバーを使用しています。これには、ATMがPOST要求を処理する際に問題を抱えています。 – LazyOne

+3

JB Issue Tracker上の実際の(メイン)チケット:https://youtrack.jetbrains.com/issue/WEB-17317。適切なWebサーバー(Apache/nginx/IIS/etc)を使用することに加えて、独自のWebサーバー(「PHP組み込みWebサーバー」タイプの実行/デバッグ構成を使用して起動できます) – LazyOne

+0

最終的にサーバーを組み込みます作品!!!ありがとうございました!! – espumita

答えて

-2

は、フォームのenctypeを設定してみてください:

<form method='post' action='a.php' enctype="multipart/form-data"> 
    <input type='text' name='user_f'> 
    <input type='submit' name='send' value='Send'> 
</form> 
+0

あなたのソリューションはディスカッションのテーマに関連していません。 – javadaskari

0

は通常通り$_POSTを使用するには、ページの初期化でこの回避策を貼り付けます。それはPHPSTORMとは関係ありません

<?php 
//required when using PhpStorm's built-in webserver 
//which always makes $_POST empty 
//and must have .ini setting always_populate_raw_post_data = -1 
//but will NOT work with enctype="multipart/form-data" 
$raw_str = file_get_contents('php://input'); //eg. name1=val&name2=val 
if($raw_str) { 
    foreach (explode('&', $raw_str) as $pair) { 
     $keyvalue = explode("=", $pair); 
     $key = urldecode($keyvalue[0]); 
     $value = urldecode($keyvalue[1]); 
     $_POST[$key] = $value; 
    } 
} 
?> 
0

、HTTP_RAW_POST_DATAを保存することができます要求から認識できないデータを取得しようとしました.HTMLヘッダーにapplication/x-www-form-urlencodedを追加してください。

1

新しいPhpStorm 2017.2.2 EAPビルド(172.3968.23)がこの問題を解決しました。

バグWEB-17317 502ポストデータのサーバーのゲートウェイエラー。

hereをダウンロードできます。

完全なリリースはあなたを提供するために リンク=> WAMPからconfluence.jetbrains.com/display/PhpStorm/PhpStorm+EAP+172.3968.23+Release+Notes

関連する問題