在 codeigniter 中提交表单将转到空白页

form submit in codeigniter going to blank page

我正在使用表单助手提交表单,它会变成空白页面,当我看到视图源代码时,视图源代码中的操作是这样的http://::1/ci1/login_validation我不明白::1里面不应该是localhost:8080/吗?但是,如果我使用像常规 html 这样的简单表单标签,它可以正常工作吗?

<?php   
echo form_open ('login_validation');    
echo form_input('email');
echo form_password('password');
echo form_submit('login_submit', 'login');  
echo  form_close(); 
?> 

查看源代码

<form action="http://::1/ci1/login_validation" method="post" accept-charset="utf-8"> 

<p>Email:<input type="text" name="email" value="" /></p>

<p>Password:<input type="password" name="password" value="" /></p>

<p><input type="submit" name="login_submit" value="login" /></p>

</form> 

我认为这是一对夫妇。

如果您的表单操作有 http://::1/,则提交不正确,因为基础 url 为空

$config['base_url'] = '';

填充基础 url 示例:

$config['base_url'] = 'http://localhost/project_name/';

在 codeigniter 3 版本上最好不要将其留空,因为您将 运行 解决该问题。

确保您的 class 和控制器等文件名的首字母大写。

文件名: Login_validation.php

控制器:

<?php

class Login_validation extends CI_Controller {

public function index() {

     // form submit controller code.

}

}

查看

<?php   
echo form_open ('login_validation');    
echo form_input('email');
echo form_password('password');
echo form_submit('login_submit', 'login');  
echo form_close(); 
?>

这是人们需要检查的常见错误。

为什么http://::1/??

这意味着您的 base_url() 是空的。


那这个http://::1/怎么来的??

当您的项目 URL 为空时,CI 检测您的项目 URL。所以这个 http://::1/ 知道你的项目路径。


如何设置base_url()??

config/config.php中设置$config['base_url'] = '';项目URL。


保持base_url()空有什么害处??

当你在当地时,一切都很好。但是,当您托管时,只需将您的网站 URL 添加到其中即可。

$config['base_url'] = 'www.whosebug.com';