ПОЖАЛУЙСТА, ПОМОГИТЕ, Я НОВЫЙ В ЭТОМ … ПОЛУЧЕНИЕ ЭТОЙ ОШИБКИ ВХОДА, КОГДА-ЛИБО ВХОД В КЛИЕНТА … Обнаружена ошибка PHP
Серьезность: Уведомление
Сообщение: неопределенная переменная: число
Имя файла: controllers / Site.php
Номер строки: 42
Backtrace:
Файл: /home/rocketmoney/public_html/application/controllers/Site.php
Строка: 42 Функция: _error_handlerФайл: /home/rocketmoney/public_html/index.php Строка: 315 Функция:
require_once
ЗДЕСЬ МОИ КОДЫ КОНТРОЛЛЕРА
<?php
if ($this->form_validation->run()) {
if ($this->core_model->login()) {
$query = $this->db->get_where('users', array('number' => $number));
$result = $query->row_array();
$name = $result['name'];
$bank_details = $result['bank_details'];
$session_data = array('number' => $_POST['number'], 'loggedin' => TRUE, 'name' => $name);
$this->session->set_userdata($session_data);
redirect(site_url('dash'));
}
}?>
Во-первых, это рискованный код, потому что, если $result
массив null
? что, если $result
массив не имеет name
а также bank_details
индекс?
Кстати, если вас беспокоит только ошибка, которую вы получаете, то: if
условие просто добавьте следующую строку:
$number = isset($number) ? $number : '';
Эта строка установит числовую переменную с предыдущей числовой переменной, если она существует, иначе она поместит пустую строку в эту числовую переменную. Предоставленный вами код не дает никаких указаний на то, установлена ли числовая переменная над этим кодом. Так что, если он не установлен, то что вы проверяете в where
состояние? Вы получаете ошибку. Таким образом, эта строка должна решить эту ошибку компиляции, но у вас все еще может быть любая логическая ошибка.
Других решений пока нет …