2012-06-11 134 views
0

我很難調試到這裏找到問題。 我試過呼應$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; 
+2

您確定要將數據從控制器發送到視圖嗎? – Gerep

+1

您可以添加您用來加載視圖的代碼嗎?你在第二個參數中傳遞'$ this-> data'嗎? –

+0

@丹尼爾yes因爲我的其他變量工作 –

回答

1

根據我們的意見。

您已使用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與預期一致。

+0

我怎麼能這樣做,以便我可以在你的'config1'上回顯這個itemnot數組鍵? –

+0

? – Gerep

+0

我沒有得到你想要的...你不想從配置文件中訪問一個值嗎? – Gerep

0
  1. 確保配置項login_by_usernamelogin_by_email有沒有在config1.php文件

  2. 確保您傳遞$this->data同時加載的觀點如:

    $這個 - >負載>視圖( 'view.php',$這個 - >數據)

+0

如果你看看上面的評論,我已經提到這些。 –

+0

你還沒有確認第二點。 –

+0

我之所以這樣做是因爲我曾經說過我的其他變量正在通過。 –