我是Code Igniter的新手,但我似乎无法在文档中找到这样做的方法, 在普通的PHP中,您可以像这样检索整个POST变量的内容
$_POST = $postedVars
但我似乎无法找到以同样的方式做到这一点的事情,我已经尝试了
$arr = $this->input->post;
和
$arr = $this->input->post();
没有运气!这在CI中是否可行?提前谢谢!
答案 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);