PHPでSessionを使う
■趣旨
サンプルソースです。
■prefts.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>色の設定</title> </head> <body> <form action="prefs.php" method="post"> <label>背景色 <select name="background" id="background"> <option value="black">黒</option> <option value="白">白</option> <option value="赤">赤</option> <option value="青">青</option> </select> </label><br /> <label>文字色 <select name="foreground" id="foreground"> <option value="black">黒</option> <option value="白">白</option> <option value="赤">赤</option> <option value="青">青</option> </select> </label><br /> <input type="submit" value="設定の変更" /> </form> </body> </html>
■prefts.php
<?php
$colors = array(
'black' => '#000000',
'white' => '#ffffff',
'red' => '#ff0000',
'blue' => '#0000ff'
);
session_start();
//session_register('bg');
//session_register('fg');
$bg_name = $_POST['background'];
$fg_name = $_POST['foreground'];
$_SESSION['bg'] = $colors[$bg_name];
$_SESSION['fg'] = $colors[$fg_name];
?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>設定の登録</title>
</head>
<body>
<p>ありがとうございました。以下のように設定を変更しました。</p>
<ul>
<li>背景色:<?php echo $bg_name ?></li>
<li>文字色:<?php echo $fg_name ?></li>
</ul>
<p><a href=”prefs_demo.php”>ここ</a>をクリックすると、設定が有効になります。</p>
</body>
</html>
■prefts_demo.php
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>玄関</title>
<style type="text/css">
body {
background-color: <?php echo $_SESSION['bg']; ?>;
color: <?php echo $_SESSION['fg']; ?>;
}
</style>
</head>
<body>
<h1>いらっしゃいませ</h1>
<p>様々な商品を取り揃えております。</p>
<p><a href=”prefs.html”>設定を変更</a>しますか?</p>
</body>
</html>
■あとがき
- prefs.htmlにアクセスし、背景色と文字色を選択しprefs.phpにデータを送信
- prefs.phpはデータを受け取りデータを元にサーバー側の文字列をセッションにセット
- prefs-demo.phpでCookieからPHPSESSIDを読み出し、それに基づく値をサーバー内から読み出し背景色と文字色になる
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする