2013-05-10 84 views
0

我正嘗試使用CodeIgniter創建一個用戶登錄系統。下面是表單代碼(登錄視圖)所示:表單操作錯誤

<?php 
    echo form_open('main/login_validation'); 

    echo validation_errors(); 

    echo "<p>Email<br/>"; 
    echo form_input('email', $this->input->post('email')); 
    echo "</p><br/>"; 

    echo "<p>Password<br/>"; 
    echo form_password('password'); 
    echo "</p><br/>"; 

    echo "<p>"; 
    echo form_submit('login_submit', 'login'); 
    echo "</p>"; 

    echo form_close();   
?> 

當我從瀏覽器中查看源,我得到

"form action="http://site.com/beta/?main/login_validation" method="post" " 

正如你所看到的,我得到一個問號「?」之後beta/

這也影響到進一步的程序,即它被重定向到site.com/beta/?main/login_validation,它根本不驗證數據。

+0

你是什麼'base_url'設置爲'應用程序/配置/ config.php'? – jleft 2013-05-10 18:50:25

+0

其設置爲空 $ config ['base_url'] =''; – wdphd 2013-05-10 18:54:14

+0

您的'base_url' [應該設置爲](http://ellislab.com/codeigniter/user-guide/installation/index.html)。 'form_open'函數使用這個值,所以如果它丟失,那麼它可能會導致錯誤。嘗試將其設置爲CodeIgniter根的URL,並以斜槓結尾。目前CodeIgniter正試圖猜測這個(並且錯誤)! – jleft 2013-05-10 19:03:02

回答

0

form_open函數使用的值爲base_url,位於application/config/config.php。看起來您的base_url設置不正確或根本沒有設置。 base_url值應該設置爲installation process的一部分。如果沒有設置,那麼笨會猜測正確的值:

如果沒有設置,那麼笨會猜測該協議,域 和路徑安裝。


要設置base_url:開放application/config/config.php並輸入您的網站base_url值。該值進入通常是在您index.php文件所在,與斜線

網址到您的CodeIgniter根。通常,這將是你的基礎URL, 以斜槓

例如:

$config['base_url'] = 'http://www.yoursite.com/';