PHP vol.20
- セッションと変数
セッションと変数
01.php
<?php session_start(); $hensu = 180; echo "ふつーの変数".$hensu."<br />\n"; echo "セッション ".$_SESSION['hensu']."<br />\n"; $hensu++; $_SESSION['hensu']++; ?> <a href="test.php">test.php</a>
test.php
<?php session_start(); echo "ふつーの変数".$hensu."<br />\n"; echo "セッション ".$_SESSION['hensu']."<br />\n";
表示結果(ブラウザで表示したものをコピペ)
01.php
ふつーの変数1 セッション 2 test.php
test.php
Notice: Undefined variable: hensu in /〜/test.php on line 3 ふつーの変数 セッション 3
- セッションはしばらくデータを保つことができるのでデータを受け渡すことができる。
<?php session_start(); if (isset($_POST['money'])) { if (empty($_SESSION['money'])) { $_SESSION['money'] = 0; $_SESSION['list']=array(); } $_SESSION['money'] = $_SESSION['money'] + $_POST['money']; $_SESSION['list'][] = $_POST['money']; } if (isset($_POST['reset'])) { session_destroy(); header ("Location: ".$_SERVER['SCRIPT_NAME']); } ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>買い物</title> </head> <body> <h1>買い物アプリ</h1> <p>買った金額を入力してください。</p> <form method="post" action=""> <input type="text" name="money" /> <input type="submit" value ="実行" /> <input type="submit" name="reset" value="データをリセットする" /> </form> <?php if (isset($_SESSION['money'])) { echo "<h2>ご購入合計</h2>\n"; echo "<p>".$_SESSION['money']."円</p>\n"; } ?> <?php if (isset($_SESSION['list'])){ echo "<h2>買い物履歴</h2>\n"; echo "<ul>\n"; foreach ($_SESSION['list'] as $key => $value) { echo "<li>".($key+1)."回目:".$value."円</li>\n"; } echo "</ul>\n"; } ?> </body> </html>