?
PHP セッションは、後で使用できるようにユーザー情報(bào) (ユーザー名、購入したアイテムなど) をサーバーに保存することで、この問題を解決します。ただし、セッション情報(bào)は一時(shí)的なものであり、ユーザーがサイトを離れると削除されます。情報(bào)を永続的に保存する必要がある場(chǎng)合は、データをデータベースに保存できます。
session_destroy: セッションを終了します。
session_unset: セッションメモリを解放します。
session_name: 現(xiàn)在のセッション名にアクセスします。
session_module_name: 現(xiàn)在のセッション モジュールにアクセスします。
session_save_path: 現(xiàn)在のセッション パスにアクセスします。
session_id: 現(xiàn)在のセッション コードにアクセスします。
session_register: 新しい変數(shù)を登録します。
session_unregister: 登録された変數(shù)を削除します。
session_is_registered: 変數(shù)が登録されているかどうかを確認(rèn)します。
session_decode: セッションデータのデコード。
session_encode: セッションデータのエンコード。
PHP セッションにユーザー情報(bào)を保存する前に、まずセッションを開始する必要があります。 ? >
?
ストレージ セッション変數(shù)
?
次のようにコードをコピーします:
session_start();
// セッション データを保存します
$_SESSION['views']=1;
?>?
< html>
//セッション データを取得します
echo "Pageviews=". $_SESSION['views'];
?>
?[html]
?
セッション終了
unset() 関數(shù)は、セッションを解放するために使用されます。指定されたセッション変數(shù):
[code]
unset($_SESSION['views']);
?>
?
?
session_destroy() 関數(shù)を使用してセッションを完全に終了することもできます:
?
< ?php
session_destroy();
?>
?
?
例:
?
session_start();?
switch ( $_GET['action'] ){?
case "loginif ";?
//ログイン検証、セッションに保存されているシークレットが 123 であると仮定しますが、正しいですか?
if ($_SESSION['pass']=="123"){echo "パスワードが正しければ、ログアウトできます。";}else{ echo "パスワードが間違っています。再度ログインできます。";}?
break;?
case "logout";?
//Log out?
session_unset();?
session_destroy() ;?
echo "ログアウト成功! ログアウトが成功したかどうかを確認(rèn)するには、パスワードが正しいかどうかをチェックできます";?
break;?
case "login";?
//検証用にセッションを書き込みます?
$pass="123";//パスワード?
$_SESSION['pass']=$pass;?
echo "ログインパスワードを書き込み、パスワードが成功したかどうかを判斷します。 ";?
break;?
}?
?>?
このページは temp.php
?という名前です。ユーザーがログインして投稿すると、プログラムが処理して書き込みます。 session
??
?
?
phpにおけるセッションの使い方をまとめました。
(1) セッションを開始しますか?
セッションを使用する前に、「session_start();」という文を追加します。名前が示すように、この関數(shù)の機(jī)能はセッションの使用を開始することです。 ?
(2) セッションを登録します?
まず、$login などのグローバル配列 (グローバルとして定義する必要があることに注意してください。そうでないと他のページで使用できません) を作成します。ここで、$login['name ']= Victor", $login['pwd']="111111" を指定し、関數(shù) "session_register(login);" を呼び出すと、セッションが正常に登録されます。 ?
(3) セッションで変數(shù)を使用する?
セッションの登録と同様に、最初にグローバル配列を作成する必要があり、その後は通常の配列を使用するのと同じです。 ?
(4) セッションが登録されているかどうかを判定します?
非常に簡(jiǎn)単で、「if (session_is_registered(login))」で判定するだけです。 ?
(5) セッションのアンインストール?
これも非常に簡(jiǎn)単で、「session_unregister(login);」するだけです。 ?
注: (2) (3) (4) (5) を行う前に、必ず (1) を行ってください。
例を以下に示します:
index.htm
?
?
?
?
?
< FORM METHOD=POST ACTION="login.php">?
ユーザー名:
?
パスワード:
?
?
?
< ;/body>?
?
?
login.php
?
global $login;?
if ($_POST['name']!="Victor" || $_POST['pwd'] ! ="111111")?
{?
????????? echo "ログインに失敗しました";?
????????? echo "";?
????????? exit;?
}?
$login = array('name'=>$_POST['name'], ?
???????????????????????????'pwd'=>$_POST['pwd']);?
session_start () ;?
session_register(login);?
echo "情報(bào)を表示
";?
echo "< a href= logout.php>ログアウト
";?
?>
?
?
info.php
?
session_start();?
if (session_is_registered(login))?
{?
? ???? グローバル $login;?
????? エコー "hello,".$login['name']."
";?
? ? ???? エコー "ログアウト
";?
}?
else?
{?
? ?????? エコー "不正な操作
;?
??????? 終了;?
}?
?>
?
logout.php
?
session_start( );?
session_unregister(login);?
header("location:index.htm");?
?>
?
?