ホームページ >バックエンド開発 >PHPチュートリアル >PHPセッション変数の使い方の詳しい説明とサンプルコード(翻訳)

PHPセッション変数の使い方の詳しい説明とサンプルコード(翻訳)

WBOY
WBOYオリジナル
2016-06-13 12:08:30912ブラウズ

PHP セッション変数の詳細な説明とコード例 (翻訳)

? PHP では、ユーザーの登録やログインを確認するためによく使用されます。セッション変数の一般的な例と使用法の紹介
?
?
アプリケーションを実行するときは、アプリケーションを開いて変更を加えてから閉じます。セッションによく似ています。コンピューターはあなたが誰であるかを知っています。ユーザーがアプリケーションをいつ開始し、いつ終了するかを認識します。しかし、インターネットには問題があります。サーバーはユーザーが誰で何をしているのかを知りません。これは、HTTP アドレスが状態を維持しないためです。

PHP セッションは、後で使用できるようにユーザー情報 (ユーザー名、購入したアイテムなど) をサーバーに保存することで、この問題を解決します。ただし、セッション情報は一時的なものであり、ユーザーがサイトを離れると削除されます。情報を永続的に保存する必要がある場合は、データをデータベースに保存できます。

マニュアルをコピーし、それぞれを試して、自分の参考のために書き留めてください。セッションには約 12 の関数があります:

session_start: 初期セッション。

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: セッションデータのエンコード。

グローバル変数 $_SESSION

PHP セッションにユーザー情報を保存する前に、まずセッションを開始する必要があります。 ? >

?

?

ストレージ セッション変数

?

次のようにコードをコピーします:

session_start();
// セッション データを保存します
$_SESSION['views']=1;
?>?
< html>


//セッション データを取得します
echo "Pageviews=". $_SESSION['views'];
?>



?[html]

?

セッション終了
unset() 関数は、セッションを解放するために使用されます。指定されたセッション変数:

[code]
unset($_SESSION['views']);
?>
?

?

session_destroy() 関数を使用してセッションを完全に終了することもできます:

?

次のようにコードをコピーします:

< ?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 "ログアウト成功! ログアウトが成功したかどうかを確認するには、パスワードが正しいかどうかをチェックできます";?
break;?
case "login";?
//検証用にセッションを書き込みます?
$pass="123";//パスワード?
$_SESSION['pass']=$pass;?
echo "ログインパスワードを書き込み、パスワードが成功したかどうかを判断します。 ";?
break;?
}?
?>?

このページは temp.php

?

という名前です。ユーザーがログインして投稿すると、プログラムが処理して書き込みます。 session

?

ユーザーのパスワードが正しいかどうかを確認します

?

ログイン成功 ユーザーがログアウトしました


?

?

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

?

次のようにコードをコピーします:

?
?
テスト?
?
?
< 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 "
情報を表示
";?
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");?
?>
?

?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。