2017-02-21 53 views
-2

请大家帮帮忙,是新这个......得到这个登录错误当过客户端登录...遇到了PHP错误一个PHP错误:消息:未定义的变量:数

严重性:通知

消息:未定义变量:数

文件名:控制器/ Site.php

行号:42

回溯:

文件:/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')); 
    } 
}?> 
+2

其中是$ number变量?你在哪里定义? – Sona

+2

[PHP:“注意:未定义的变量”,“注意:未定义的索引”和“注意:未定义的偏移量”可能的重复](http://stackoverflow.com/questions/4261133/php-notice-undefined-variable- notice-undefined-index-and-notice-undef) – MrDarkLynx

+0

你知道所有上限正在考虑尖叫吗?不善于向人们尖叫,特别是当你向他们求助时。 –

回答

0

首先,这是一个危险的代码,因为什么如果$result数组是null?如果$result数组没有namebank_details索引会怎么样?

顺便说一句,如果你只是大概只有你得到,那么错误的担忧:以前你if条件只需添加以下行:

$number = isset($number) ? $number : '';

这条线将设置与数量变量前面的数字变量是否存在,否则会在该数字变量上放置空字符串。您提供的代码不会提供任何提示是否将数字变量设置为高于此代码。所以,如果它没有设置,那么你在where条件检查什么?你正在收到错误。所以,这行应该解决这个编译错误,但是你可能仍然有任何逻辑错误。