2

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。問題は、関数 on ( に含まれています) で使用する$_POST値を取得できないことです。index.phpsql_data_handlers.phpindex.php

action="my_php_function_from_data_handlers.php($args)"可能であれば使用しますが、そうではないと思います。ところで、私はすでに試しaction=""ました。これはかなり面倒に思えるかもしれませんが、この方法では、サイト レイアウトに必要な .html は 1 つだけです。ページは SQL 上にあり、.php ファイルがすべての仕事をします。

すべてのファイルの完全なソース (かなり大きく、まだ作業中): http://pastebin.com/2nRuCpNx

4

3 に答える 3

5

index.php を使用してデータを保存しているため、おそらくページをリロードして更新されたコメントを表示しているため、リダイレクトがないことを確認してください。また、リロードしている場合、print_r() によって出力される $_POST にはデータがありません。

于 2013-03-13T13:48:52.113 に答える
0

入力名属性の値を「名前」とは別のものに変更してみてください。一部の構成、特にワードプレスには問題があります。

例えば:

<input type="text" name="user_name" value="Anonymous" required>
于 2013-03-13T09:14:33.550 に答える
0

変更してもよろしいですか

.htmlファイル名から.phpファイル名へ

あなたのコードはローカル サーバーで実行されます。これは、Web サーバーの構成方法に違いがある場合があるためです。

Web サーバーで実行する場合は、ファイルで .php を使用するのが最善です

于 2013-03-13T09:33:07.320 に答える