Переменная Igniter POST - PullRequest
0 голосов
/ 13 июля 2010

Я новичок в Code Igniter, но я не могу найти способ сделать это в документации. В обычном PHP вы можете получить содержимое всей переменной POST, как это

$_POST = $postedVars

Но я не могу найти что-то, что делает это таким же образом, я пробовал

$arr = $this->input->post;

и

$arr = $this->input->post();

Без удачи!Возможно ли это в CI?Заранее спасибо!

Ответы [ 3 ]

3 голосов
/ 13 июля 2010

Во-первых, вам нужна форма или что-то, что устанавливает переменные Затем вы получаете их.

$ this-> вход-> пост ( 'first_name').

Вам не хватает названия переменной!

Форма регистрации:

echo form_open('CHome/signup');
$data=array('name'=>'first_name', 'id'=>'first_name','size'=>40,'value'=>set_value('first_name'));
echo "<p><label for='first_name'>First Name </label>";
echo form_input($data);
echo form_submit('submit','Make Account');

Модель:

 function addUser(){
    //you should use $this->input->post('first_name')
            $data=array(
                'first_name'=>db_clean(ucfirst($_POST['first_name'])), //db_clean is a custom func
                'last_name'=>db_clean(ucfirst($_POST['last_name'])),        
                'email'=>db_clean($_POST['email']),            
                'username'=>db_clean($_POST['username']),
                'password'=>db_clean(sha1($_POST['password1'])),            
                'type'=>db_clean('user'),
            );

            $this->db->insert('users',$data);
        }

Codeigniter хранит сессии в куки, это все странно. Я предлагаю просто использовать нативные сессии PHP, такие как $ _SESSION ['first_name']. Обязательно напишите "session_start ();" в вашем контроллере / модели, так что вы можете использовать сессии! (обычно это делают в конструкторе)

0 голосов
/ 22 июня 2017

Вы можете установить свой массив данных в свой массив записей следующим образом. Это ОЧЕНЬ полезно, если у вас много полей. Просто убедитесь, что имя вашего поля ввода соответствует имени поля базы данных.

$data = $_POST;

Если в вашем массиве записей есть дополнительные элементы (кнопка отправки, скрытые поля и т. Д.), Которые не будут попадать в вашу базу данных, удалите их перед запуском вставки.

unset($data['SubmitButton']);
unset($data['HiddenField1']);

$this->db->insert('users',$data);
0 голосов
/ 05 апреля 2017

ну, во-первых, вам нужна форма для заполнения полей формы переменными и кнопка отправки для отправки переменных из полей формы

     <?php
      $attributes = array('class' => 'form-horizontal', 'id' => 
    'myform',    'role'=>'form');
      echo form_open('Iris/login_in', $attributes); ?>
        <div class="row">
            <div class="col-xs-10 col-md-offset-1">
                <div class="row">
                    <div class ="col-xs-12">
                        <div class="form-group ">
                            <label for="email" class="text-warning" 
                             >Email Address</label>
                            <input type="email" class="form-control"
                                   name="email"
                                   placeholder="Your Email Address"
                                  required>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class ="col-xs-12">
                        <div class="form-group " >
                            <label for="password" class="text-
                            warning">Password</label>
                            <input type="password" class="form-
                             control"    name="password"
                                   placeholder="Your password"
                                   required>

                        </div>
                    </div>
                </div> 
                </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...