Php CodeIgniter:提交表单后出现错误403
当我尝试使用Php CodeIgniter:提交表单后出现错误403,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,当我尝试使用base\u url()方法发送表单时(因此我单击submit按钮),而不是请求的结果,我的控制器生成的页面上的另一个页面(禁止访问)出现403错误 我使用Wampp服务器,即CodeIgniter的3.1.8版。我还在自动加载文件中添加了url 我有.htacess文件,其中包含: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule
base\u url()
方法发送表单时(因此我单击submit按钮),而不是请求的结果,我的控制器生成的页面上的另一个页面(禁止访问)出现403错误
我使用Wampp服务器,即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>
希望这对您有所帮助:
注意:假设route.php中的默认控制器是welcome
,如果不将welcome替换为您的
在控制器中:您有方法表单验证
,并且您只提供表单操作验证
:
您的表单视图如下所示:
<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['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
更换:
/* 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');?>">
注意:.htaccess
应该在项目文件夹中,在您的案例CI文件夹中这需要更多的上下文才能回答。您是否在自动加载或控件中加载了url帮助程序?yes:确定在config.php中设置ur base\u url如果不是,请在验证控制器中显示验证控制器methodbase\u url:,我试着展示一些东西(即使在MVC中这不是正确的方式,只是为了测试它是否有效):看看我的答案,然后根据你的答案更正你的答案,顺便问一下,你的控制器名是什么?它肯定会解决你的问题,就像我的答案中那样做,谢谢:)。你能解释一下为什么吗?如果我想在默认控制器之外的其他控制器上发送视图,我应该怎么做?我只需要将welcome替换为控制器名称?只需在其中创建控制器和方法,并使用控制器名称和方法以form action的形式传递它
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;