我无法从我的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.php
值action="my_php_function_from_data_handlers.php($args)"
。
如果有可能,我会使用action=""
,但我想不是。顺便说一句,我已经尝试{{1}}了。这可能看起来很乱,但这样我只需要一个.html用于站点布局,页面在sql上,而.php文件可以完成所有工作。
所有文件的完整来源(非常大,仍在使用它): http://pastebin.com/2nRuCpNx
答案 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