我开发了一个网站,它在我的localhost中工作正常。 但是我想在上线之前在局域网中进行测试。 我面临的一个问题是,在浏览器或任何其他机器上首次加载时会显示错误,直到我更改语言一次。当我改变语言时,问题再也不会发生了。 我是新人,这是我的第一个项目,所以任何人都可以在这方面帮助我。 提前致谢
遇到PHP错误
Severity: Notice
Message: Undefined index: site_lang
Filename: models/companies.php
Line Number: 15
回溯:
File: C:\xampp\htdocs\fp\application\models\companies.php
Line: 15
Function: _error_handler
File: C:\xampp\htdocs\fp\application\controllers\home.php
Line: 19
Function: get_companies
File: C:\xampp\htdocs\fp\index.php
Line: 315
Function: require_once
这是我的模特:
//---- Table Companies ---
public function get_companies()
{
// Retrieve titles for all languages
$sql = "SELECT * FROM `ci_companies` WHERE `co_id` = 1";
// Retrieve appropriate title according to the chosen language in the system
$sql = "SELECT `co_id`, `co_name`, SUBSTRING(`co_detail`,1,100) AS `co_detail`, `co_img`, `co_img2` FROM `ci_companies` WHERE `co_lang` = '".$_SESSION['site_lang']."'";
$query = $this->db->query($sql);
return $query->result();
}
这是我的控制器:
function switchLang($language = "") {
$language = ($language != "") ? $language : "english";
$this->session->set_userdata('site_lang', $language);
redirect($_SERVER['HTTP_REFERER']);
}
答案 0 :(得分:0)
由于错误使用single quotes
而尝试使用此错误。
$language = $this->session->userdata('site_lang');//or $_SESSION['site_lang']
$sql = "SELECT `co_id`, `co_name`, SUBSTRING(`co_detail`,1,100) AS `co_detail`, `co_img`, `co_img2` FROM `ci_companies` WHERE `co_lang` = '{$language}'";