2013-02-20 84 views
1

我有一個例子在following url,它將用戶發送到基本表單。與codeignitor的網址問題

該表單的代碼如下:

<?php echo validation_errors(); ?> 

<?php echo form_open('form'); ?> 

<h5>Username</h5> 
<input type="text" name="username" value="" size="50" /> 

<div><input type="submit" value="Submit" /></div> 

</form> 

如果我理解正確,一旦用戶按下「提交」,它應該返回到名爲「form」的控制器。但它沒有按預期工作。

我希望它提交給index.php/form,而是它去/index.php/index.php/form

隨意在上面的URL測試出網站並看到自己的問題。

+0

試試這個:'<?php echo form_open('../ form'); ?>'或保持不變'<?php echo form_open(''); ?> – vikingmaster 2013-02-20 19:39:46

+2

你的配置文件中設置了什麼base_url? – 2013-02-20 19:43:26

回答

1

我只是看着你的源代碼,並注意到了這一點:

<form action="http://helios.hud.ac.uk/u0862025/CodeIgniter/index.php/index.php/form" method="post" accept-charset="utf-8"> 

這顯示了兩個 「的index.php」 S。這可能意味着您的基本URL和索引頁面配置中設置了「index.php」。您應該從其中一個來源中刪除「index.php」,最好從您的base_url中刪除。

-1

我遇到過這種情況一次,問題是我在我的base_url中包含index.php文件./application/config/config.php請檢查並刪除如果存在。您也可以通過從index_page鍵中刪除index.php來解決您的問題,但將index.php包含在base_url中並不是一個好習慣。

1

在配置文件中檢查您的base_url()。如果它是正確的,你可以寫下這樣的表格:

<?php echo validation_errors(); ?> 

<?php echo form_open('controller_name/function_name'); 
     // controller name write your name of controller 
     // and function name write your function 
?> 

<h5>Username</h5> 
<input type="text" name="username" value="" size="50" /> 

<div><input type="submit" value="Submit" /></div> 

<?php echo form_close(); // don't forget to close correct ?>