会话值到数组

时间:2019-03-29 01:28:15

标签: php arrays codeigniter session

我具有此功能,可在单击按钮后保存数据。

 $data=$_POST;
    $details = array();
    $details['title'] = $data['title'];
    $details['content'] = $data['text'];
    $details['snippet'] = $data['hidden_snippet'];
  $details['createdDate']=date('Y-m-d H:i:s');
    $result=$this->ask_model->book_add($details);

我想在“ author_id”列中添加包含来自另一个表的用户ID的会话值。

$data= $this->session->userdata('user_id');

我试图这样做,但是我得到的值为空。

$data= $this->session->userdata('user_id');
  $data=$_POST;
    $details = array();
    $details['title'] = $data['title'];
    $details['content'] = $data['text'];
    $details['snippet'] = $data['hidden_snippet'];
  $details['createdDate']=date('Y-m-d H:i:s');
  $details['author_id']= $data;
    $result=$this->ask_model->book_add($details);

这是错误: Errors

我需要将会话值转换为什么值才能将其添加到数组中?

更新

好的,我是CodeIgniter的初学者,这个问题是由于我自己的愚蠢造成的。我使用的模型未在autoload.php的$ autoload ['model']上设置,而且我一直在查看文件中的ajax中调用错误的url。评论确实解决了我的问题之一,非常感谢!

2 个答案:

答案 0 :(得分:0)

我认为您正在不必要地替换数据。这样,我认为您应该这样做

$user_id= $this->session->userdata('user_id');
$data=$_POST;
    $details = array();
    $details['title'] = $data['title'];
    $details['content'] = $data['text'];
    $details['snippet'] = $data['hidden_snippet'];
  $details['createdDate']=date('Y-m-d H:i:s');
  $details['author_id']= $user_id;


$result=$this->ask_model->book_add($details);

答案 1 :(得分:0)

application/config/autoload.php中的第一个负载模型

$autoload['model'] = array('Ask_model');

确保文件名和类名的首字母大写。应该是Ask_model而不是ask_model

$data = $_POST覆盖$this->session->userdata('user_id')的值,因为您还给出了相同的变量名。

在此处覆盖

$data= $this->session->userdata('user_id');
$data=$_POST;

这样做

$author_id = $this->session->userdata('user_id');
$data=$_POST;
$details = array();
$details['title'] = $data['title'];
$details['content'] = $data['text'];
$details['snippet'] = $data['hidden_snippet'];
$details['createdDate']=date('Y-m-d H:i:s');
$details['author_id']= $author_id ;
$result=$this->ask_model->book_add($details);