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

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

Jun 13, 2016 pm 12:08 PM
gt login lt php session

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 セッションにユーザー情報を保存する前に、まずセッションを開始する必要があります。 ? >

<html>

<body>

</body>
</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>?
&lt ;/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");?
?>
?

?

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

See all articles