CodeIgniter:提交表单后的错误403

时间:2018-05-15 17:19:26

标签: php codeigniter codeigniter-3

当我尝试使用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>
你能帮帮我吗?非常感谢

1 个答案:

答案 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文件夹中