PHPでフォームを作るにあたって、postとsessionは必ずどこかで使います。
今回は、この二つの違いについて執筆したいと思います。
$_POST(ポスト変数)
$_POSTとは、スーパーグローバル変数の一種にある変数です。
そのため、スクリプトのどこからでもアクセスができます。
そして、これはフォーム送信のメソッドで連想配列として使われます。
例としては、以下の通りです。
<?php
<form method="post" action="complete.php">
?>
また、フォームからデータが送られてきたときの処理は、以下の方法です。
<?php
変数 = $_POST["フォームに付けた名前"];
?>
$_SESSION(セッション変数)
sessionもpostと同じく、スーパーグローバル変数の一つです。
そのため、どこからでもスクリプトにアクセスできます。
しかし、postとは違って大量の情報を保持することができます。
postは一度しかアクセスできませんが、sessionは何回でもアクセスできるのです。
また、これも連想配列として使用します。
例としては、以下の通りです。
<?php
session_start();
$_SESSION["id"] = "confirm.php";
echo $_SESSION["id"];
?>
※スーパーグローバル変数:プログラムにどこからでもアクセスできる変数のこと。
※連想配列:好きな名前「キー」で配列に添字すること(「ハッシュ」とも呼ばれます)。
以上のように、postとsessionの違いは、アクセスできる量であるとわかりました。