■趣旨
サンプルソースです。
■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を読み出し、それに基づく値をサーバー内から読み出し背景色と文字色になる