2011-12-15 41 views
1

我是新来的CodeIgniter我用坦克验证我的登录表单。当我尝试将Tank Auth放入我的模板中时,登录表单完全不显示。我没有’改变除控制器以外的任何东西。登录窗体不出现

这里是我的控制器代码:

public function __construct(){ 
    parent::__construct(); 
    $this->load->helper(array('form','url')); 
    $this->load->library('tank_auth'); 
    //$this->load->model('users_model'); 
} 
public function index(){ 
    if (!$this->tank_auth->is_logged_in()) { 
     $data['loginform']='login_form'; 
     $this->load->view('tampilan',$data); 
     //redirect('/auth/login/'); 
    } else { 
     $data['user_id'] = $this->tank_auth->get_user_id(); 
     $data['username'] = $this->tank_auth->get_username(); 
     $this->load->view('welcome', $data); 
    }    
} 

,这里是我的视图文件夹模板:

<div id="page"> 

<div id="bg1"> 

    <div id="bg2"> 

     <div id="bg3"> 

      <!-- content --> 

      <?php $this->load->view($loginform); ?> 

      <!-- end content --> 

      <!-- sidebar --> 

      <?php echo $this->load->view('content'); ?> 

      <!-- end sidebar --> 

     </div> 

    </div> 

</div> 

它’■简单的代码,我想,因为我只是改变控制器,但为什么不在浏览器中显示?’?

回答

0

的代码,本身看起来是正确的。我可以说的是,这可能是因为你打错了视图,并且错误报告级别太低而不能显示错误。我的意思是:

  1. 您的login_form.php视图是否为自定义视图?路径是否正确?尝试使用一个简单的几乎是空的视图(不知道,只有一个“hello world”文本?)来查看它是否被正确调用。
  2. 如果你正在使用坦克验证提供的默认login_form.php视图,您作为被复制的内容,认为应该是在文件夹内auth(所以它有下载的软件包)。因此,你应该与$data['auth/login_form'];在你的控制器,
  3. 在2点的可能性)调用它,原水箱验证login_form.php包含的这发生在你的代码是未定义的变量很多。如果你不显示错误,那么你会得到一个空白页。坐落在的index.php环境,以“发展”,而如果这还不够的地方这在你的index.php的开始

    error_reporting(E_ALL); 
    ini_set('display_errors',1); 
    

    为了只是测试坦克验证的functinality,尽量与原有控制器调用它通过去http://www.yoursite.com/index.php/auth。如果这样的作品,看看在auth控制器的login()方法,你会看到如何和原来的login_form.php需要哪些变量。

  4. 小点,你不需要echo一个视图,所以$this->load->view('content');是足够的。

+0

首先,我想说谢谢你的帮助来回答我的问题队友。对于第1点,我没有为login_form.php自定义,是正确的路径,是的,如果我尝试使用hello world文本,它可以正确调用。在第2点中,是的,我使用了Tank Auth提供的默认login_form视图,我尝试了`$ data ['auth/login_form'];`比我有错误。在第3点对不起,我不知道你在index.php中设置环境的意思是什么?你能更具体地说一下吗? – ranggadablues 2011-12-16 04:26:18