我是一个使用codeigniter框架的新php程序员。
我的帖子数据有问题, 问题是, 当我在邮递员中使用url params发布数据时, 我的价值(姓名,用户名和电子邮件)都是假的。 在DB中,值为0
但是当我尝试在postman中使用form-data时,值是成功的帖子,没有错误/ false。
这是json的回应:
{
"name": false,
"username": false,
"email": false,
"password": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"created_at": "2015-03-30 15:36:58",
"updated_at": "2015-03-30 15:36:58",
"status": 0
}
这就是我的控制器的样子。
public function user_post()
{
date_default_timezone_set('Asia/Jakarta');
$datestring ="%Y-%m-%d %H:%i:%s";
$time =time();
$datetime =mdate($datestring, $time);
$user = array (
'name' => $this->post('name'),
'username' => $this->post('username'),
'email' => $this->post('email'),
'password' => sha1($this->post('password')),
'created_at' => $datetime,
'updated_at' => $datetime,
'status' => 0
);
$result = $this->signup_model->registration_insert($user);
if ($result) {
$this->send_new_password_email($user);
$this->response($user, 200);
} else {
$this->response(array('error' => 'missing paramaters'), 404);
}
}
我的模型是这样的:
public function registration_insert($data) {
$condition = "username =" . "'" . $data['username'] . "' OR " . "email =" ."'" . $data['email'] . "'" ;
$this->db->select('*');
$this->db->from('table');
$this->db->where($condition);
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows() == 0) {
$this->db->insert('table', $data);
if ($this->db->affected_rows() > 0) {
return true;
} else {
return false;
}
}
}
谢谢你们,
CMIIW
答案 0 :(得分:0)
在codeIgniter中,要使用后期值
$this->input->post(); //work as $_POST
$this->input->get(); //work as $_GET
$this->input->get_post(); //work as $_REQUEST
因为我可以看到你使用了错误的语法。