codeigniter中的sprintf没有显示出来

时间:2014-06-24 08:20:46

标签: php codeigniter

我正在尝试在我的语言文件中使用%s作为用户名但不起作用只是在页面上留下一个空白区域。我很确定我的sprintf对于codeigniter是正确的。

sprintf($this->lang->line('text_logged'), $this->users->getUserName());

有关如何使%s工作的任何想法

它看起来应该是You are login as admin.

但目前看起来像You are login as .

标头控制器

public function index() {
  $baseUrl = base_url();
  $arrayExplore = explode('/',$baseUrl);
  $myLastElement = end($arrayExplore);

  $homeUrl = str_replace("admin/","",$baseUrl);

  $data = array(
    'home_url' => $homeUrl,
  );

  $data['text_logged'] = sprintf($this->lang->line('text_logged'), $this->users->getUserName());

  $this->load->view('template/common/header', $data);
}

语言文件它在构造区域中加载。以下代码是语言文件

$lang['text_logged'] = 'You are logged in as %s.';

我的用户lib函数获取用户名

public function getUserName() {
  return $this->CI->input->post('username');
}

1 个答案:

答案 0 :(得分:-1)

我认为这是你的getUsername()方法的样子:

public function getUserName() {
  return $this->CI->session->userdata('username');
}

确保始终加载会话库。