Я разработал несколько приложений CI раньше и никогда не имел этой проблемы раньше, но я все еще относительно новичок в этом и пытался настроить ION Auth без везения, поэтому я сузил его до пустого значения $ _POST, поэтому я попытался свежая чистая установка и сделала это очень простое испытание:
Я пробовал включать и выключать CSRF & XSS, а также все различные протонные элементы URI, а также с файлом .htaccess и без
контроллер:
class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } public function send() { $this->load->view('test.php', array('form_data' => $this->input->post('mysubmit'))); } }
Добавлено это в приветствие_message:
<?php echo form_open('welcome/send'); ?> <?php echo form_submit('mysubmit', 'Submit Post!'); ?> <?php echo form_close(); ?>
Проверял элемент на хроме, чтобы посмотреть на форму, отлично выглядит для меня:
form action="http://www.myactualdomain.com/book/index.php/welcome/send" method="post" accept-charset="utf-8"
Это код для просмотра test.php:
Data: <?php echo $form_data; ?>
это возвращает: «Данные:»
Поэтому я добавил index.php вверху:
<?php print "CONTENT_TYPE: " . $_SERVER['CONTENT_TYPE'] . "<BR />"; $data = file_get_contents('php://input'); print "DATA: <pre>"; var_dump($data); var_dump($_POST); print "</pre>"; ?>
Это вернулось:
CONTENT_TYPE: DATA: string(0) "" array(0) { }
Я тестировал сервер за пределами CI, и все было в порядке, я провел этот тест:
<?php print "CONTENT_TYPE: " . $_SERVER['CONTENT_TYPE'] . "<BR />"; $data = file_get_contents('php://input'); print "DATA: <pre>"; var_dump($data); var_dump($_POST); print "</pre>"; ?> <form method="post"> <input type="text" name="name" value="ok" /> <input type="submit" name="submit" value="submit" /> </form>
это результат:
string(21) "name=ok&submit=submit" array(2) { ["name"]=> string(2) "ok" ["submit"]=> string(6) "submit" }
Помощник формы загружается автоматически
Его сервер Apache работает: PHP версии 5.3.3
Вот переменная post max: post_max_size 64M 64M
Я что-то не хватает?
Проблема была в config.php, получив удаление www. в базовом URL-адресе исправлена проблема.