2011-05-16 180 views
1

我有一個php文件,用戶帳戶的東西整個偵探。它純粹用於測試功能是否正常工作。但是,腳本在輸出第一個功能之前停止。我已經確定該代碼在此代碼的某處失敗:PHP腳本過早結束

...more above... 
Authentication Form<br> 
<br> 
<?php if($this->session->userdata('authenticated')):?> 
Welcome back <?php echo $this->session->userdata('userid');?><br> 
<form action="<?php echo base_url();?>/account/logout" method="post"> 
    <input type="submit" value="Log Out"/> 
</form> 
<?php else:?> 
<form action="<?php echo base_url();?>/account/login" method="post"> 
    Username: <input type="text" name="username"/><br> 
    Password: <input type="text" name="password"/><br> 
    <input type="submit" value="Login"/> 
</form> 
<?php endif;?><br> 
...more below... 

我無法弄清楚爲什麼這段代碼如果不執行。沒有錯誤正在輸出,我用過類似於此的代碼,沒有任何問題。任何幫助將不勝感激。

最後一個註釋: 我正在使用xampp在我的筆記本電腦上運行並使用codeigniter。兩者都是最新的。

+2

使用調試程序逐步執行步驟 – Phil 2011-05-16 22:53:33

+0

如果由於某種原因您沒有調試器工具,那麼可以嘗試添加'flush()'語句。這會強制輸出到瀏覽器到指定點,所以如果您將它們添加到各個位置,您將很快看到腳本死亡的位置。 – Orbling 2011-05-16 23:25:23

+0

你還檢查了Apache錯誤日誌嗎?如果是這樣,請檢查php.ini並設置error_reporting = E_ALL | E_STRICT。 – 2011-05-16 23:28:13

回答

0

真正時髦的方法是使用Xdebug的

的蠻力方法可能是花邊您的文件與

echo __FILE__, ":", __LINE__, "\n<br/>"; 

var_dump(get_defined_vars()); 

再加上也看到了有關設置的error_reporting到適當的調試級別加上PHP手冊中的show_errors @ php.net