2016-11-16 3 views
0

Обычно я автоматически загружал скрипты и тестировал их на удаленном хостинге, но несколько дней назад я установил магическое трио Apache, PHP и MySQL, каждый из которых самостоятельно тестировал небольшие проблемы Быстрее. Сегодня выяснилось, что массив $ _POST полностью пуст. Это базовая форма, которую я тестирую, и она отлично работает на удаленном хостинге, поэтому я проверил файл php.ini. Я обнаружил, что enable_post_data_reading был установлен на Off и прокомментирован (хотя в документации говорится, что он включен по умолчанию). Я думал, что это проблема, но нет. Я перезапустил Apache и даже ноутбук, но массив $ _POST по-прежнему пуст, выводя Notice: Undefined index: name in C:\Users\Marco\Proj\untitled\insert.php on line 3. Есть ли у кого есть любые предложения? (Я прохожу только строки, поэтому проблема не в том, что есть опция post_max_size) Спасибо!

Хотя это бесполезно, я все равно разместить код

form.html

<form action="insert.php" method="post"> 
    <input type="text" name="name" placeholder="name" style="display:block" /> 
    <input type="text" name="code" value="" placeholder="code" style="display:block" /> 
    <input type="text" name="price" placeholder="price" style="display:block" /> 
    <label>Show</label><input type="checkbox" name="show" value="checked" /> 
    <input type="submit" value="inserisci" style="display: block" /> 
</form> 

insert.php

<?php 
include "filterFunctions.php"; 
$data = array("name" => $_POST["name"], 
       "code" => $_POST["code"], 
       "price" => $_POST["price"], 
       "checkbox" => $_POST["show"]); 
print_r($_POST); 

[EDIT] Следуя совет I Сватантра K «ю.ш. если POST работает с использованием echo file_get_contents('php://input');, и это то, что он отображает:

------WebKitFormBoundarysqxwAAdf3E55NZUK Content-Disposition: form-data; name="name" Marco 
------WebKitFormBoundarysqxwAAdf3E55NZUK Content-Disposition: form-data; name="code" 35DW 
------WebKitFormBoundarysqxwAAdf3E55NZUK Content-Disposition: form-data; name="price" 99,9 
------WebKitFormBoundarysqxwAAdf3E55NZUK Content-Disposition: form-data; name="show" checked 
------WebKitFormBoundarysqxwAAdf3E55NZUK-- 

Notice: Undefined index: name in C:\Users\Marco\Proj\untitled\insert.php on line 4 
Notice: Undefined index: code in C:\Users\Marco\Proj\untitled\insert.php on line 5 
Notice: Undefined index: price in C:\Users\Marco\Proj\untitled\insert.php on line 6 
Notice: Undefined index: show in C:\Users\Marco\Proj\untitled\insert.php on line 7 
Array () 

Это означает, я думаю, что это работает, и что существуют вставленные значения, но я до сих пор не могу понять, в чем проблема, и ее решение. Также потому, что var_dump($_POST); по-прежнему отображает array(0) { }. Любые подсказки?

+1

Что делать 'filterFunctions.php' файл? –

+0

Является ли '$ _POST' массивом? Я этого не знал. –

+0

Какое у вас значение postmax_size? –

ответ

0

У вас есть два поля ввода с именем = "name", поэтому вы ссылаетесь на оба этих поля в php-скрипте, поэтому удалите его из него, а также определите атрибут типа для формы и присвойте значение multipart. Надеюсь, это сработает.

+0

Вы правы, но двойное имя было всего лишь ошибкой копирования-вставки, я редактировал вопрос. Что значит «присваивать значение multipart»? Назначьте пустое значение 'value =" "'? – Brigo

+2

Я имею в виду использование атрибута enctype = "multipart/form-data" в элементе формы. – Afzaal

+0

К сожалению, это не решило проблему, но я буду использовать ее сейчас, когда я использую метод POST, спасибо;) – Brigo

1

Try установка

php_value post_max_size = 256M 

или проверить, если POST работает

echo file_get_contents('php://input'); 
+0

Я установил 'post_max_size' до 256, но ничего не изменилось, а' echo file_get_contents ('php:// input '); 'не производит никакого вывода; это означает, что он не работает? – Brigo

+0

Данные HTTP POST обычно заполняются в $ _POST, php: // ввод обычно содержит данные PUT. –

+0

Хорошо, полу-хорошие новости! Я попробовал снова с 'echo file_get_contents ('php: // input');' и он выводит: '------ WebKitFormBoundarysqxwAAdf3E55NZUK Content-Disposition: form-data; name = "name" Marco ------ WebKitFormBoundarysqxwAAdf3E55NZUK Content-Disposition: form-data; name = "code" 35DW ------ WebKitFormBoundarysqxwAAdf3E55NZUK Content-Disposition: form-data; name = "price" 99,9 ------ WebKitFormBoundarysqxwAAdf3E55NZUK Content-Disposition: form-data; name = "show" checked ------ WebKitFormBoundarysqxwAAdf3E55NZUK-- 'со всеми данными вставки, но сразу после него выдает:' Undefined index: XXX' для всех – Brigo