Я получаю ошибку Foreach в Codeigniter, он работал нормально, но как только я перенес проект на новый хостинг, я получу ошибку для цикла. Оба сервера используют PHP 7.2 < /p>
Вот первая ошибка: < /p>
Message: array_slice() expects parameter 1 to be array, null given
< /code>
А вот вторая ошибка: < /p>
Message: Invalid argument supplied for foreach()
< /code>
В Backtrace говорится, что ошибка находится в контроллере, я проверял много раз и пробовал много методов, но все еще одинакова. />
public function login(){
$data['title'] = 'Sign In';
$this->form_validation->set_rules('email', 'Email', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
if($this->form_validation->run() === FALSE){
$this->load->view('templates/header', $data);
$this->load->view('users/login', $data);
$this->load->view('templates/footer');
} else {
// Get username
$username = $this->input->post('email');
// Get and encrypt the password
$password = $this->input->post('password');
// Login user
$user_id = $this->user_model->login($username, $password);
if($user_id){
// Create session
$user_data = array(
'id' => $user_id,
'email' => $username,
'logged_in' => true
);
$this->session->set_userdata($user_data);
// Set message
$this->session->set_flashdata('user_loggedin', 'Login Success');
redirect('users/account');
} else {
// Set message
$this->session->set_flashdata('login_failed', 'Login Faild');
redirect('users/login');
}
}
}
public function account($id = NULL){
if(!$this->session->userdata('logged_in')){
redirect('users/login');
}
$data['users'] = $this->user_model->get_users($this->session->userdata('id'));
$data['title'] = 'Account';
$this->load->view('templates/user_header', $data);
$this->load->view('users/account', $data);
$this->load->view('templates/user_footer');
}
< /code>
code: < /p>
< /code>
Модель: < /p>
public function get_users($id){
$this->db->join('user_details', 'user_details.user_details_id = users.id');
$this->db->join('user_orders', 'user_orders.user_id = users.id');
$query = $this->db->get_where('users', array('id' => $id));
return $query->row_array();
}
Подробнее здесь: https://stackoverflow.com/questions/517 ... d-2d-array
Codeigniter's ROW_ARRAY () производит NULL вместо ожидаемого 2D -массива [Duplicate] ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Что означает $row[$i]=&$row[$i]; иметь в виду? Кажется, $row получает ссылку на себя
Anonymous » » в форуме Php - 0 Ответы
- 44 Просмотры
-
Последнее сообщение Anonymous
-