2013-02-20 56 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 ?>