⊗ppPmSsFr 322 of 447 menu

PHPにおけるセッションとフォーム

2つのPHPファイルがあるとします。ファイル test1.php に、ユーザーに2つの数値を 尋ねるフォームを配置しましょう:

<form method="GET"> <input name="num1"> <input name="num2"> <input type="submit"> </form>

この同じファイルに、フォームを処理するコードも配置します。 このコードでは、入力フィールドのデータをセッションに記録します:

<?php session_start(); if (!empty($_GET)) { $_SESSION['num1'] = $_GET['num1']; $_SESSION['num2'] = $_GET['num2']; } ?>

重要な注意点:このファイルでは、フォームを処理するコードは フォーム自体より前に配置する必要があります。その理由は、 このコードではセッションを扱っており、その前に 何も画面に出力があってはならないからです。

次に、ファイル test2.php で、 セッションに保存された数値の合計を求めましょう:

<?php if (!empty($_SESSION)) { echo $_SESSION['num1'] + $_SESSION['num2']; } ?>

これはどのような順序で動作するのでしょうか?まず、 ユーザーはページ test1.php にアクセスし、 フォームに記入してボタンを押します。その後、 ユーザーは再び test1.php ページに戻りますが、 今度は送信されたフォームデータと共に戻ります。 これにより、フォームデータをセッションに書き込む 条件分岐に入ります。

その後、ユーザーは手動でページ test2.php にアクセスする必要があります。 そしてそこで、入力された数値の合計を確認できます。

疑問に思うかもしれません:なぜこのように複雑にするのでしょうか? 結局のところ、フォームを直接 test2.php ページに 送信することもできたはずです。このケースでの利点は、 フォーム自体とその処理コードが同じページに配置されることです。 もちろんこれは常に便利とは限りませんが、時には必要とされることがあります。

1つのページでフォームを使用して、ユーザーに 姓、名、年齢を尋ねてください。これらのデータを セッションに記録してください。別のページに アクセスした際に、これらのデータを画面に表示してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否