繁体   English   中英

在CodeIgniter中更改表单动作位置

[英]Changing Form Action Location in CodeIgniter

我正在使用Codeigniter为客户端编写一个Web应用程序,并且正在使用其内部开发机器之一。 由于安全限制,Web服务器端口仅是内部端口,不会暴露给外界,因此我必须通过SSH隧道访问它。 因此,我像这样访问Web服务器: http:// localhost / path_to_data

我正在使用标准Form Helper在Codeigniter中创建表单,唯一的问题是表单的动作指向了Codeigniter配置文件中框的位置。 我无法更改此配置值,因为我们内部的开发人员也可以访问此配置,而不会使用SSH隧道,因此他们会通过“真实” URL对其进行点击。

有没有一种方法可以强制Codeigniter使用该表格以相对路径而不是完整路径指向自身?

form_open()使用在config.php中设置的基本URL: $config['base_url'] 尝试根据$_SERVER['SERVER_NAME']使其为有条件的。 这样,内部开发人员(例如使用“ http://demo.local ”)以及您使用“ http:// localhost / ”都将能够根据他们访问的方式查看正确的绝对URL。服务器。

$config['base_url'] = 'http://demo.local/' ;
if ($_SERVER['SERVER_NAME'] == 'localhost') {
    $config['base_url'] = http://localhost/' ;
}

作为一个旁注,我注意到form_open()检查所传递的参数是否为完整的url(特别是如果它包含“://”),并且如果这样做,则将其设置为表单的操作,而不进行任何处理。 因此,您可以调用form_open("http://localhost/form_submit")并在没有base_url的情况下直接使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM