0

PHPでページからページに変数を渡す方法を学び、5ページ間で最大10個の変数を渡す必要があるため、そのための最良の方法を見つけようとしています。最初のページで、フォームを持つことは意味がありますか?

<form method="post">
    <input type="hidden" name="test" value="<?php $test ?>" />
</form>

次に、次のページで、この変数を使用して受け取ることができますPOSTか?実際のフォームは必要ありません。変数のストレージ領域として使用してください。action=また、 2番目のページがsecond.phpと呼ばれる場合、何に使用しますか。

どんな助けでもありがたいです、ありがとう

4

5 に答える 5

7

簡単な回答:フォームは送信された場合にのみ機能します。おそらくセッションを使用したいと思うでしょう。

長い答え:

  • ユーザー入力なしでフォームを作成することは意味がありません。それがそのために存在するものです。
  • フォームのaction=属性は、フォームが送信される場所を反映しています。処理ページがその場合second.phpaction=属性はそこを指している必要があります。
  • セッションだけが可能性ではありません。PHPはCookieを設定することもでき、サーバーがデータを気にしない場合(メディアとしてのみ使用される場合)、HTML5のlocalStorageを使用できます。
于 2012-08-01T14:57:02.533 に答える
3

実際、5つのページすべてに10個の変数を渡す必要がある場合は、セッションを使用する方がよいでしょう。それらすべてを変数の一部として$_SESSION保存し、セッションが存続している限り、任意のページからそれらにアクセスできます。

于 2012-08-01T14:57:22.750 に答える
0

$ _POST変数を使用して、ユーザーのセッションにデータを格納することはできません。

次を使用する必要があります。

  • セッション
  • クッキー
  • HTML5ストレージ
于 2012-08-01T14:58:21.563 に答える
0

それはあなたが何をしたいかに依存します、あなたは様々なオプションがあります:1。あなたが概説したようにフォームと投稿を使用します。この場合、1ページであなたのaction = "second.php"2.GETを使用してURL経由でデータを渡す3.前の2つの投稿で述べたセッション4.Cookie

于 2012-08-01T14:59:51.113 に答える
0

私があなたの質問を正しく理解していれば、フォームをページに表示したり、実際にページに表示したりせずに、次のようにして値を POST することができます。このコードを使用するには、jQuery ライブラリを参照する必要があります。

    function hiddenPost(param1) {
        $('<form />')
        .hide()
        .attr({ method: "post" })
        .attr({ action: "http://my-URL-here.com/SomePage.php" })
        .append($('<input />')
            .attr("type", "hidden")
            .attr({ "name": "post_data" })
            .val(param1)
        )
        .append('<input type="submit" />')
        .appendTo($("body"))
        .submit();
    }

form タグを使用した通常の POST と同じ方法で、POST 先のページの POST 値を取得できます。

PHP の場合: var postData = $_POST["post_data"];

それが役立つことを願っています。

于 2012-08-01T15:08:48.983 に答える