表单操作是post,但回显$ _SERVER ['REQUEST_METHOD']显示get

时间:2011-09-14 18:27:36

标签: php html codeigniter

我遇到了最奇怪的问题而且我不知道如何解决它。我的表格有第一行:

<form action="index.php" method="POST">

但当我回应$_SERVER['REQUEST_METHOD']它回应“GET”。我正在使用CodeIgniter,所以我不知道问题是否与此有关。我认为它可能是CI中的表单助手,但我用直接的HTML编写了我的表单,我仍然遇到了问题。有趣的是,如果我将表单复制到本地MAMP安装并运行它,我会“POST”。

我觉得我回归基础并且遗漏了一些明显的东西。有谁可以帮助我吗?感谢。

3 个答案:

答案 0 :(得分:1)

Codeigniter具有获取输入数据的功能。

Here是CodeIgniter文档。

你可以像这样使用它:

$this->input->post('some_data');

答案 1 :(得分:0)

听起来CodeIgniter正在通过某种清理过程运行你的帖子,结果它缺少实际的方法。对于大多数php MVC框架,你不应该通过$ _POST和$ _GET访问你的表单元素。他们有自己的包装来访问这些元素以进行安全和清理......

答案 2 :(得分:0)

看起来你看到的GET只是代码点火器url转换。当你有像localhost / main / page这样没有htaccess的东西时,url cleanup是localhost / index.php?c = main&amp; m = page,这基本上就是GET请求。默认情况下CodeIgniter关于这个主题的政治是你应该总是忽略使用GET并且只使用POST;如其他答案所述,这非常简单。在表单视图中:

<input type="text" name="one" /> in your form

并使用

在控制器中捕捉它
$value = $this->input->post('one');

除非你的任务真的有必要,否则不要手动做任何事情。