具有动态生成的基本URL的Codeigniter获取303发布表单时,请参阅其他

时间:2019-06-13 02:32:52

标签: php forms codeigniter post codeigniter-3

我有一个Codeigniter应用,可以100%正常工作

我必须为它设置一个动态的基本URL,因为它们都可以通过公共IP访问,并且也可以通过192. *在LAN中使用。 我使用了以下代码(CI应用位于www根目录的子文件夹中):

$root = "http://".$_SERVER['HTTP_HOST'];
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url'] = "$root";

动态url可以正常工作,但是今天(从LAN使用它)我注意到一个表单无法正常工作(以前是)。此表单的enctype =“ multipart / form-data”带有一个文件上传字段。提交此表单时,我在Chrome的控制台中收到了此表单,未发布任何内容。 print_r $ _POST显示为空

console log message

动态基本网址是否会产生此问题?有解决此问题的解决方法吗?

在LAN上使用CI应用程序时,我再次检查了表单的action attr中的操作URL是具有本地IP的URL。

非常感谢

1 个答案:

答案 0 :(得分:0)

将$ root更改为$ base

$base  = "http://".$_SERVER['HTTP_HOST'];
$base .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url'] = $base;

$config['uri_protocol'] = 'REQUEST_URI';
$config['allow_get_array'] = TRUE;