19-3 DBを使った場合
  データベースに登録されているユーザ名とセッション変数に登録されている
 ユーザ名が同じかで、セッションを管理しているサンプルが以下である。
 1)ログイン画面(ファイル名:login.html)
   <html>
   <head>
   <title>ログイン画面</title>
   </head>
    <body>
   ログイン画面<br>
    <form name="form1" method="post" action="loginpage1.php">
   ユーザ名:
    <input name="fUserName" type="text" id="fUserName">
    <br>
   パスワード:
    <input name="fPassWd" type="password" id="fPassWd">
    <input type="submit" name="Submit" value="ログイン">
    <input name="Reset" type="reset" id="Reset" value="クリア">
    </form>
    </body>
    </html>

 2)ログオンページ1(マイページ)(ファイル名:loginpage1.php)
    <html>
    <head>
    <title>ログインページ1(マイページ)</title>
    </head>
    <body>
    <?php
    $sUserName=$_POST["fUserName"];
    $sPassWd=$_POST["fPassWd"];
    $MySQL['HOST']="localhost";
    $MySQL['USER']="root";
    $MySQL['PASSWORD']="*****";
    $MySQL['DATABASE']="userid_db";
    $MySQL['conn']=mysqli_connect($MySQL['HOST'],$MySQL['USER'],$MySQL['PASSWORD']) or exit("MySQLへ接続できません。<br>");
    print("MySQLへ接続できました。<br>");
    mysqli_select_db($MySQL['conn'],$MySQL['DATABASE']) or exit("データベース名が間違っています。<br>");
    $MySQL['SQL']="SELECT * FROM userid_tbl where userName='".$sUserName."' and passWd='".$sPassWd."';";
    $MySQL['result']=mysqli_query($MySQL['conn'],$MySQL['SQL']) or exit("データの抽出に失敗しました。<br>");
    if(mysqli_num_rows($MySQL['result'])!=0){
     session_start();
     $_SESSION["USERNAME"]=$sUserName;
  
   print("ログオンしました。ログインページ1(マイページ)<br>");
     print("<font color='red' size='5'>".$sUserName."さま ようこそ"."</font><br>");
   ?>
    <a href="loginpage2.php" target="_blank">ログインページ2へ</a>
    <?php
    }
    else{
   ?>
   ログイン画面<br>
    <font color="red">ログオンに失敗しました。もう一度やり直してください。</font><br>
    <form name="form1" method="post" action="loginpage1.php">
   ユーザ名:
    <input name="fUserName" type="text" value="<?php print($sUserName) ?>">
    <br>
   パスワード:
    <input name="fPassWd" type="password" id="fPassWd">
    <input type="submit" name="Submit" value="ログイン">
    <input name="Reset" type="reset" id="Reset" value="クリア">
    </form>
    <?php
    }
    mysqli_close($MySQL['conn']);
   ?>
    </body>
    </html>

 3)ログインページ2(登録情報の変更)(ファイル名:loginpage2.php)
    <html>
    <head>
    <title>ログインページ2</title>
    </head>
    <body>
   ログインページ2(登録情報の変更)<br>
    <?php
    $MySQL['HOST']="localhost";
    $MySQL['USER']="root";
    $MySQL['PASSWORD']="*****";
    $MySQL['DATABASE']="userid_db";
    session_start();
    $MySQL['conn']=mysqli_connect($MySQL['HOST'],$MySQL['USER'],$MySQL['PASSWORD']) or exit("MySQLへ接続できません。<br>");
    print("MySQLへ接続できました。<br>");
    mysqli_select_db($MySQL['conn'],$MySQL['DATABASE']) or exit("データベース名が間違っています。<br>");
    $MySQL['SQL']="SELECT * FROM userid_tbl where userName='".$_SESSION["USERNAME"]."' and passWd='".$_SESSION["PASSWORD"]."';";
    $MySQL['result']=mysqli_query($MySQL['conn'],$MySQL['SQL']) or exit("データの抽出に失敗しました。<br>");
    if(mysqli_num_rows($MySQL['result'])!=0){
     print("<font color='red' size='5'>".$_SESSION["USERNAME"]."さまのページです。</font><br>");
     print("同じセッションです。<br>");
   ?>
    <a href="logout.php">ログアウト</a>
    <?php
    }
    else{
     print("ログインしないと操作できません。");
     exit();
    }
   ?>
    </body>
   </html>

 4)ログアウト画面(ファイル名:logout.php)
   <html>
    <head>
    <title>ログアウト画面</title>
    </head>
    <body>
   ログアウト画面<br>
    <?php
   session_start();
   print("<font color='red' size='5'>".$_SESSION["USERNAME"]."さま。ありがとうございました。</font><br>");
   print("ログアウトしました。<br><br>");
   session_unset();
   session_destroy();
   ?>
   もう一度ログインしますか?<br>
   もう一度ログインする場合は、以下からリグインしてください。
    <form name="form1" method="post" action="loginpage1.php">
   ユーザ名:
    <input name="fUserName" type="text" id="fUserName">
    <br>
   パスワード:
    <input name="fPassWd" type="password" id="fPassWd">
    <input type="submit" name="Submit" value="ログイン">
    <input name="Reset" type="reset" id="Reset" value="クリア">
    </form>
    </body>
    </html>