「name」パラメータで角かっこを使用したチェックボックスを含む aaa.php ファイルのフォームを作成しています:
リーリーフォームは aaa.php ファイルにあり、GET メソッドを使用します。
送信すると、aaa.php ファイルは bbb.php ファイルにジャンプし、ユーザー検査のために送信されたデータが表示され、その後 aaa.php ファイルに戻ってデータを変更するかデータベースに保存します。最後のケースでは、ccc.php ファイルにデータが保持されます。
これを実現するために、GET メソッドを使用して、URL 内の aaa.php によって送信されたすべてのデータを bbb.php ファイルに書き込みます。したがって、bbb.php の PHP コマンド ラインは、URL に示されているデータを取得し、aaa.php によって送信されたデータを ccc.php ファイルへのリンクに書き込み、ccc.php ファイルがデータをデータベースに挿入できるようにします。
問題は、以下で説明するように、GET メソッドによって Web ブラウザが角括弧 [] を書き換えることです。フォーム GET キーの角括弧は、フォーム送信時にエンコードされます。したがって:###
• bbb.php ファイルは、データを保存する前にチェックボックスの値を表示できません;• POST メソッドを使用すると、bbb.php ファイルにチェックボックスの値が表示されますが、送信されたデータにアクセスして URL を ccc.php ファイルに書き換えることはできません。
これはコードです:
• aaa.php
リーリー
•bbb.phpリーリー
GET メソッドを使用すると、結果の URL は次のようになります:リーリー
この場合、角括弧をそのままにして GET メソッドを使用することは可能ですか?ご回答とコメントありがとうございます!
あなたの提案に基づいて、これが私が問題を見つけた方法です:
• aaa.php にはフォームが含まれており、POST メソッドを使用してデータを送信するようになりました。
• bbb.php は $_POST 内のデータを読み取り、結果を表示します。 bbb.php には 2 つのコード変更があります:リーリー
• ccc.php は、セッション変数を $_POST であるかのように読み取ります。の代わりに: ### リーリー ###私が書いた:### リーリーこれで、ccc.php は以前と同様にデータベースにデータを保存します。
###ご協力いただきありがとうございます!