使用 php 时出现错误 post 数据
Error post data using php
我是一名使用 codeigniter 框架的 php 新程序员。
我的 post 数据有问题,
问题是,
当我在 postman 中使用 url 参数 post 数据时,
我的值(姓名、用户名和电子邮件)为假。
在数据库中,值为 0
但是当我尝试在 postman 中使用表单数据时,值为成功 post 而没有 error/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
在 codeIgniter 中,要获得 post 值,请使用
$this->input->post(); //work as $_POST
$this->input->get(); //work as $_GET
$this->input->get_post(); //work as $_REQUEST
据我所知,您使用了错误的语法。
我是一名使用 codeigniter 框架的 php 新程序员。
我的 post 数据有问题, 问题是, 当我在 postman 中使用 url 参数 post 数据时, 我的值(姓名、用户名和电子邮件)为假。 在数据库中,值为 0
但是当我尝试在 postman 中使用表单数据时,值为成功 post 而没有 error/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
在 codeIgniter 中,要获得 post 值,请使用
$this->input->post(); //work as $_POST
$this->input->get(); //work as $_GET
$this->input->get_post(); //work as $_REQUEST
据我所知,您使用了错误的语法。