代码点火器POST变量

时间:2010-07-12 21:16:53

标签: codeigniter post variables

我是Code Igniter的新手,但我似乎无法在文档中找到这样做的方法, 在普通的PHP中,您可以像这样检索整个POST变量的内容

$_POST = $postedVars

但我似乎无法找到以同样的方式做到这一点的事情,我已经尝试了

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

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

没有运气!这在CI中是否可行?提前谢谢!

3 个答案:

答案 0 :(得分:3)

首先,您需要一个表单或设置变量的东西 然后,您检索它们。

  

$这 - >输入 - >柱( '如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在cookie中存储会话,这很奇怪。 我建议只使用PHP的本机会话,例如$ _SESSION ['first_name']。一定要写“session_start();”在您的控制器/型号中,以便您可以使用会话! (通常在构造函数中执行)

答案 1 :(得分:0)

首先,您需要一个表单来填充带有变量的表单字段和一个提交按钮,以便从表单字段中发布变量

     <?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>

答案 2 :(得分:0)

您可以将数据数组设置为post数组。如果您有许多字段,这非常有用。只需确保输入字段名称与数据库字段名称匹配。

$data = $_POST;

如果您的帖子数组中有任何其他元素(提交按钮,隐藏字段等)不会进入您的数据库,请在运行插入之前删除它们。

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

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