当我尝试使用base_url()
方法发送表单时(所以我点击提交按钮),而不是我的请求结果,我在另一页上有403错误(禁止访问),在我的控制器生成的页面上。
我使用的是Wampp Server,CodeIgniter的3.1.8版本。我还在自动加载文件中添加url
。
我有.htacess
个文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
查看页面:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form method="post" action="<? echo base_url();?>form_validation">
<label> Name </label>
<input type="text" name="name" />
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
你能帮帮我吗?非常感谢
答案 0 :(得分:0)
希望这会对您有所帮助:
注意:假设welcome
中的默认控制器为route.php
,如果没有替换欢迎
在控制器中:您拥有方法form_validation
,并且仅在表单操作中validation
:
public function form_validation()
{
echo 'OK';
}
您的表单视图就像这样:
REPLACE :
/* note missing php error in action*/
<form method="post" action="<? echo base_url();?>form_validation">
使用:
/*add controller name also in action,
assuming your default controller is Welcome*/
<form method="post" action="<?php echo base_url('welcome/form_validation');?>">
查看应该是这样的:
<form method="post" action="<?php echo base_url('welcome/form_validation');?>">
<label> Name </label>
<input type="text" name="name" />
<input type="submit" name="submit" value="submit" />
</form>
route.php
应该是这样的:
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
另请注意:。htaccess
应位于项目文件夹中,在您的案例CI文件夹中