Код Ingiter POST данных пуст

У меня просто проблема, когда POST составная форма с codeigniter. Форма содержит текстовое поле и 8 полей для загрузки файла. проблема в том, что файл успешно загружен без ошибок, но поле текста пусто в моем контроллере.

Я попытался напечатать POST-данные и получить пустой массив. Но иногда, когда я использую Google Chrome, у него нет никаких проблем.

Любое решение?

3 ответа

<form name="form" action="some action page.php"  method="post" enctype="multipart/form-data">

 <input type="text" name="inputfieldvalue"  value="Input Field">
<input type="file" name="uploadedfile" id="uploadedfile">
<input type="submit" value="Submit" >
</form>

// предположим, что ваша форма похожа на приведенную выше, чтобы проверить значение текстового поля

<?php echo $_POST['inputfieldvalue']; ?>  

// передаем атрибут имени все, что вы дали $_POST[значение поля вашего имени]. как это

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

заранее спасибо

Полный пример должен работать.

ваша форма целевого действия, чтобы функционировать my_form в My_controller контроллер. Не пытайтесь вводить с именем WTF

<form name="form" action="my_controller/my_form"  method="post" enctype="multipart/form-data">

 <input type="text" name="WTF"  value="Input Field">
<input type="submit" value="Submit" >
</form>

ваше действие в домике My_controller.php файл (папка CI Controller) должен выглядеть так

<?php
 defined('BASEPATH') OR exit('No direct script access allowed');

class My_controller extends CI_Controller {

  function __construct() {
    parent::__construct();
  }

  public function index(){

    /* do something for page my_controller if you want */

  } // end of index

  function my_form() { // = my_controller/my_form
   $here_is_it = $this->input->post('WTF'); // call value of input with name WTF

   /* test it */
   print_r($here_is_it);
  }

Дополнительно, чтобы убедиться, что все в порядке. Вы можете включить функцию автоматической загрузки в Codeigniter. следуйте этому уроку

Другие вопросы по тегам