我开发了一个网站,它在我的本地主机上运行良好。 但我想在上线之前在局域网中进行测试。 我面临的一个问题是,首先在浏览器或任何其他机器中加载,它显示以下错误,直到我更改语言一次。当我更改语言一次后,该问题就不会再发生。 我是新人,这是我的第一个项目,所以任何人都可以在这方面帮助我。 提前致谢
遇到 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();
}
这是我的 Controller :
function switchLang($language = "") {
$language = ($language != "") ? $language : "english";
$this->session->set_userdata('site_lang', $language);
redirect($_SERVER['HTTP_REFERER']);
}
最佳答案
尝试像这样。由于错误使用单引号
而出现错误。
$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}'";
关于php - Codeigniter 'Message: Undefined index: site_lang' 首次加载时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42777341/