मेरे पास निम्न HTML / PHP पृष्ठ है:
<?php
if(empty($_SERVER['CONTENT_TYPE'])) {
$type = "application/x-www-form-urlencoded";
$_SERVER['CONTENT_TYPE'] = $type;
}
echo "<pre>";
var_dump($_POST);
var_dump(file_get_contents("php://input"));
echo "</pre>";
?>
<form method="post" action="test.php">
<input type="text" name="test[1]" />
<input type="text" name="test[2]" />
<input type="text" name="test[3]" />
<input type="submit" name="action" value="Go" />
</form>
जैसा कि आप देख सकते हैं, फॉर्म सबमिट होगा और अपेक्षित आउटपुट एक पोस्ट सरणी है जिसमें एक एरे है जिसमें वैल्यू भरी हुई है और वैल्यू "गो" (बटन) के साथ एक एंट्री "एक्शन" है। हालांकि, कोई फर्क नहीं पड़ता कि मैं खेतों में किन मूल्यों में प्रवेश करता हूं; परिणाम हमेशा होता है:
array(2) {
["test"]=>
string(0) ""
["action"]=>
string(2) "Go"
}
string(16) "test=&action=Go&"
किसी भी तरह, परीक्षण नाम का सरणी खाली कर दिया जाता है, "एक्शन" चर इसे बनाता है।
मैंने यह देखने के लिए फ़ायरफ़ॉक्स के लिए लाइव HTTP हेडर एक्सटेंशन का उपयोग किया है कि क्या पोस्ट फ़ील्ड सबमिट किए जाते हैं, और वे करते हैं। लाइव HTTP हेडर्स से प्रासंगिक जानकारी (टेक्स्टबॉक्स में मान के रूप में भरे गए बी और सी के साथ):
Content-Type: application/x-www-form-urlencoded
Content-Length: 51
test%5B1%5D=a&test%5B2%5D=b&test%5B3%5D=c&action=Go
क्या किसी के पास कोई विचार है कि ऐसा क्यों हो रहा है? मैं इस पर गुस्सा कर रहा हूं, इसने मुझे इतना समय पहले ही दे दिया है ...
अद्यतन करें:
हमने इसे अलग-अलग सर्वरों पर आज़माया है, यह विंडोज़ के बॉक्सों पर काम करता है, जो उबंटू सर्वर पर PHP संस्करण 5.2.4 (सुहोसिन के साथ) पर है, यह नहीं करता है। यहां तक कि यह एक अलग सर्वर पर भी काम करता है, उबंटू के साथ भी और वही पीएचपी वर्जन भी, जिसमें सुहोसिन भी लगा है।
मैंने दो फ़ाइलों को अलग किया है, यह आउटपुट है ( diff php.ini phps.ini
):
270c270
< memory_limit = 32M
---
> memory_limit = 16M ; Maximum amount of memory a script may consume (16MB)
415c415
< variables_order = "EGCSP"
---
> variables_order = "EGPCS"
491d490
< include_path = ".:"
1253a1253,1254
> extension=mcrypt.so
>
इस phps.ini में सर्वर से एक है जिस पर यह काम करता है और php.ini चालू है। लगता है जैसे यहाँ कोई समस्या नहीं हैं, है ना?