未显示正确的表单标签


Not Showing Correct Form Label

我很难调试以在此处找到问题。我尝试过回声$login_by_username$login_by_email但它们没有回声。

问题是当它加载登录表单时,它总是将电子邮件作为标签。

控制器:

$login_by_username = $this->config->item('login_by_username', 'config1');
$login_by_email = $this->config->item('login_by_email', 'config1');
$this->data['login_by_username'] = $login_by_username;
$this->data['login_by_email'] = $login_by_email;

视图:

<?php
if ($login_by_username AND $login_by_email) 
{
    $login_label = 'Email or Username';
} 
else if ($login_by_username) 
{
    $login_label = 'Username';
} 
else 
{
    $login_label = 'Email';
}
?>
<?php echo form_label($login_label, 'login'); ?>

配置:

$config['login_by_username'] = TRUE;
$config['login_by_email'] = TRUE;

根据我们的评论。

您已使用该autoload.php调用配置文件。

您进行了一些测试以确保问题出在您的config1.php文件上,而不是CI 上。

我已经做了一个测试,这是我所做的。

我在里面创建了一个config1.php文件:application/config

在这里:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$config['teste'] = 'config1 test';

在我的autoload.php也在application/config里面:

$autoload['config'] = array('config1');

我的家庭控制器:

public function index()
{
    $data = array('config'=>$this->config->item('teste'));
    $this->load->view('welcome_message', $data);
}

我的观点:

<?php echo $config;?>

config1 test如预期的那样得到了回应。

  1. 确保config1.php文件中存在配置项login_by_usernamelogin_by_email

  2. 确保在加载视图时传递$this->data,例如:

    $this->load->view('view.php', $this->data)