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