无法获得$ _POST值(php,html)

时间:2013-03-13 09:09:05

标签: php forms post include scope

我无法从我的php文件中获取从html表单发送的$ _POST ['name']值。我见过很多类似的问题,但没有任何帮助。我有很多包含,所以我认为这是一个范围问题,但我无法弄明白。

的index.php

print_r($_POST); //Returns nothing, tried other ways too

//lot's of variables being defined

include 'sql_data_handlers.php';
//instantiating some things

sql_data_handlers.php

//some functions retrieving data from sql db and finally:
include($DOCUMENT_ROOT . "page.html");

page.html中

//html stuff
<?php
//Some conditions
include($DOCUMENT_ROOT . "comment_form.html");
?>

comment_form.html

<form action="index.php" name="comment_form" id="comment_form" method="post">
    <input type="text" name="name" value="Anonymous" required><br>
    //lot's of inputs
    <input type="submit">
</form>

我曾经有action="send_comment.php"但我意识到它可以变成一个函数,所以我按住ctrl + c并将send_comments.php改编为sql_data_handlers.php上的函数。问题是,现在我无法在$_POST上的index.php上的sql_data_handlers.php函数中使用index.phpaction="my_php_function_from_data_handlers.php($args)"

如果有可能,我会使用action="",但我想不是。顺便说一句,我已经尝试{{1}}了。这可能看起来很乱,但这样我只需要一个.html用于站点布局,页面在sql上,而.php文件可以完成所有工作。

所有文件的完整来源(非常大,仍在使用它): http://pastebin.com/2nRuCpNx

3 个答案:

答案 0 :(得分:5)

确保您没有任何重定向,因为您使用index.php来保存数据,您可能正在重新加载页面以显示更新的注释。如果你正在重新加载,那么print_r()就不会有$ _POST上的数据。

答案 1 :(得分:0)

尝试将输入名称属性的值更改为与“name”不同的值。有些配置存在问题,尤其是wordpress。

例如:

<input type="text" name="user_name" value="Anonymous" required>

答案 2 :(得分:0)

你介意改变你的

吗?

.html 文件名为 .php 文件名

您的代码在我的本地服务器中运行,因为有时不同之处在于您的Web服务器的配置方式。

在Web服务器中运行时,最好在文件中使用.php