2016-02-09 23 views
9

$_POST có vẻ như không hoạt động. Tôi đã cài đặt PhpStorm 10.0.3 và sử dụng trình thông dịch php mặc định của máy chủ WAMP.

trong index.php:

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

Trong a.php:

var_dump($GLOBALS); 

khi tôi gõ "asdf" theo hình thức:

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 làm việc tốt , nhưng có vẻ như thông dịch viên không điền vào biến số $_POST.

php.version: 5.4.12 (cùng một vấn đề sử dụng 5.6.18 và 7 phiên dịch từ http://php.net/downloads.php)

file php.ini cho phiên bản này: (mặc định từ wamp)

cổng khác như (3306) cho MySQL hoạt động tốt trong PhpStorm. (Kết nối với phpMyAdmin là ok)

cổng Xdebug: 9000 PhpStorm tích hợp cổng máy chủ: 63342

Tất cả mọi thứ hoạt động tốt nếu tôi xây dựng từ Netbeans IDE trong localhost mặc định: 8000

Cùng một vấn đề trong tôi máy tính xách tay.

+13

Sử dụng Apache từ WAMP (hoặc bất kỳ máy chủ web thích hợp khác) để phục vụ bạn yêu cầu web. Ngay bây giờ bạn đang sử dụng máy chủ web đơn giản của PhpStorm được xây dựng trong máy chủ web đơn giản mà ATM có vấn đề với việc xử lý các yêu cầu POST. – LazyOne

+3

Vé thực tế (chính) trên JB Issue Tracker: https://youtrack.jetbrains.com/issue/WEB-17317. Ngoài việc sử dụng máy chủ web thích hợp (Apache/nginx/IIS/etc), bạn cũng có thể sử dụng máy chủ web riêng của PHP (có thể được khởi chạy bằng cách sử dụng "Cấu hình Chạy/Gỡ lỗi Máy chủ Web PHP") – LazyOne

+0

Được xây dựng trong Sever cuối cùng công trinh !!! cảm ơn bạn!! – espumita

Trả lời

-2

Cố gắng thiết lập các enctype dạng:

<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

Giải pháp của bạn không liên quan đến chủ đề của cuộc thảo luận. – javadaskari

0

Dán workaround này trong phần khởi tạo trang của bạn để sử dụng $_POST như bình thường:

<?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

Nó không quan trọng với PHPSTORM, HTTP_RAW_POST_DATA có thể lưu trữ dữ liệu không được công nhận từ yêu cầu, có nội dung thử, loại nội dung: ứng dụng/x-www-form-urlencoded thêm vào tiêu đề Http;

1

Bản dựng EAP PhpStorm 2017.2.2 mới (172.3968.23) đã giải quyết được sự cố này.

Lỗi WEB-17317 502 Lỗi cổng lỗi xấu từ máy chủ khi dữ liệu bài đăng.

Bạn có thể tải xuống số here.

Toàn bộ Ghi chú phát hành liên kết => confluence.jetbrains.com/display/PhpStorm/PhpStorm+EAP+172.3968.23+Release+Notes

Các vấn đề liên quan