Значение сеанса в массив - PullRequest
2 голосов
/ 29 марта 2019

У меня есть эта функция, которая сохраняет данные после нажатия кнопки.

 $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».

$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);

Вот ошибка: Ошибка

Во что мне нужно преобразовать значение сеанса, чтобы я мог добавить его в массив?

Обновление:

ОК. Я новичок в CodeIgniter, и эта проблема из-за моей собственной глупости. Модель, которую я использовал, не была установлена ​​на $ autoload ['model'] на autoload.php, плюс я вызываю неправильный URL в моем ajax в моем файле просмотра. Комментарии действительно решают одну из моих проблем, поэтому большое спасибо!

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Первая модель загрузки в 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);
0 голосов
/ 29 марта 2019

Я думаю, вы заменяете данные без необходимости. Таким образом, я думаю, вы должны сделать это

$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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...