ホームページ >バックエンド開発 >PHPチュートリアル >ソファで会話(3)_PHPチュートリアル

ソファで会話(3)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:19:48875ブラウズ

マーケットゲーム

基本を理解したので、もう少し複雑にして、実際のセッション アプリケーションをデモしてみましょう。ここで、ユーザーが 4 つの銘柄を選択し、各銘柄の現在の市場価格を表示し、サイト上でのユーザーの進捗状況を各ページに表示できる金融ポータルがあると仮定してみましょう。

以下の例では、ユーザーが認証されてサイトにログインしているものとします。ここでは、ユーザーの 4 つの株と一意のユーザー名を保存するために使用される user_info という名前のテーブルを持つ MySQL データベースを使用しました。セッションが初期化されたら、ユーザー名と 4 つの株式を保持する変数を登録し、データベースに接続して値を取得し、ページに表示します。

コードは以下の通りです:

$#@60;?php

//セッションを初期化します session_start();

//セッション変数を登録します

//ユーザー名
session_register(username);

//選択された株式変数
session_register(stock1 );
session_register(stock2);
session_register(stock4);

//MySQL に接続します
$db = mysql_connect("someserver.com", "tom", "jones");データベースを選択
mysql_select_db("stock_db", $db);

//SQL を使用してデータベースをクエリします
$query = "selectstock_pref1,stock_pref2,stock_pref3,stock_pref4
from user_info where username=$username"; mysql_query($query,$db);

//データベースから株式コードを取得し、セッション変数に割り当てます
list($stock1,$stock2,$stock3,$stock4) = mysql_fetch_row($result);
echo "こんにちは $username!$#@60;br$#@62;";
echo "あなたの選択した株は:$#@60;br$#@62;";
echo "$stock1$#@60 ;br $#@62;";
echo "$stock2$#@60;br$#@62;";
echo "$stock3$#@60;br$#@62;";
echo "$stock4 $# @60;br$#@62;";

// ページの残りの部分を生成するコード

?$#@62;

PHP4 にはセッション関連の関数が多数あります。そのほとんどは説明の必要がないので、以下にリストします。


session_destroy()
: すべてのセッション データを解放します (ユーザーがサイトからログアウトするときに非常に便利です。ユーザーの訪問中に作成されたすべての変数を解放する必要があります)。


session_name():
現在のセッションの名前を設定または読み取ります。
session_id():
現在のセッションの ID 値を設定または読み取ります。 session_unregister(session_variable_name):
特定のセッションから変数の登録を解除します。
session_is_registered()
: セッション変数が登録されているかどうかを確認します。 例:

$#@60;?php session_start();

if(session_is_registered(username))

{

echo ""username" という名前のセッション変数が既に存在します
}
else
{
echo 「「ユーザー名」という名前の変数はまだ登録されていません。
session_register(username)
}

?$#@62;

session_encode() および session_decode():
セッション データを文字列にエンコードするか、文字列をセッション データにデコードします。

ここで使用できます:

$#@60;?php

session_start();

session_register(someString); $someString="猫は嫌いです!"

//すべてのセッション変数を文字列にコンパイルします

$sessStr = session_encode() ;


//ここで見ることができます
echo $sessStr;

echo "$#@60;br$#@62;$#@60;br$#@62;";猫が登場する犬
$sessStr = ereg_replace("cats","dogs",$sessStr);

//デコード後にセッション変数が更新される
session_decode($sessStr)//もう一度表示 $sessstr
エコー $someString

?$#@62;
最後に、PHPLIB を開始する前に、知っておくべき技術的な問題があります。上記の例はすべて、クライアント側でセッション ID 値を保存するために Cookie を使用しています。しかし、ユーザーのブラウザが Cookie を拒否するように設定されている場合はどうなるでしょうか?

これが起こった場合、セッションIDをURLに埋め込んで、あるページから別のページに渡す必要があります。例: $#@60;a href="http://www.someserver.com/admin/preferences.php3?PHPSESSID=$#@60;? echo "$PHPSESSID"; ?$#@62;"$ # @62;あなたのポートフォリオを編集してください! $#@60;/a$#@62;
これにより、セッション変数が後続のページで有効であることが保証されます。






http://www.bkjia.com/PHPjc/532662.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/532662.html

技術記事

マーケット ゲーム 基本は理解できたので、もう少し複雑にして、実際のセッション アプリケーションをデモンストレーションしてみましょう。しばらくの間、次のことを可能にする金融ポータルがあると仮定してみましょう...

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