Кажется, что $_POST
не работает. Я установил PhpStorm 10.0.3 и использовал PHP-интерпретатор php-сервера по умолчанию WAMP.
в index.php:
<form method='post' action='a.php'> <input type='text' name='user_f'> <input type='submit' name='send' value='Send'> </form>
В a.php:
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 (та же проблема с использованием 5.6.18 и 7 переводчиков из http://php.net/downloads.php )
Файл php.ini для этой версии: (по умолчанию от wamp)
Другие порты, такие как (3306) для MySQL, хорошо работают в PhpStorm. (Соединение с phpmyadmin в порядке)
Порт Xdebug: 9000 Встроенный порт сервера PhpStorm: 63342
Все работает хорошо, если я строю из NetBeans IDE в локальном хосте по умолчанию: 8000
Такая же проблема в моем ноутбуке.
Эта проблема решена новой сборкой EAP PhpStorm 2017.2.2 (172.3968.23).
Ошибка WEB-17317 502 Ошибка Bad Gateway с сервера при отправке данных.
Вы можете скачать его здесь .
Примечания к выпуску Release link => confluence.jetbrains.com/display/PhpStorm/PhpStorm+EAP+172.3968.23+Release+Notes
Вставьте это обходное решение в инициализацию вашей страницы, чтобы использовать $_POST
как обычно:
<?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; } } ?>
Это не имеет значения с PHPSTORM, HTTP_RAW_POST_DATA может хранить нераспознанные данные из запроса, попробуйте, content-type: application / x-www-form-urlencoded добавьте в заголовки Http;
Попробуйте установить 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>