猫の皮膚を変える方法はたくさんあります...
もちろん、サイトでまだ PHP3 が実行されている場合は、これまでのコードは使用できません。しかし、絶望しないでください。PHP3 ユーザーが利用できる別の解決策があります。これは PHPLIB と呼ばれ、PHP3 にセッション管理を追加できる便利なクラスのセットを提供します。パッケージ内の指示に従ってインストールできます。独自のクラスを作成するには、「local.inc」構成ファイルを変更する必要もあります。
PHP4 と同様に、セッションを初期化するたびに、事前に page_open() 関数を呼び出す必要があります。 PHPLIB は Example_Session という名前のデフォルトのクラスを返します -- この値は「local.inc」ファイルで変更できます -- これは次の例で使用されます:
$#@60;?php
page_open(array("sess" =$#@62; "Example_Session"));
ブラウザに出力する前に page_open() を呼び出すことが非常に重要です。セッション変数を登録するには、次のステートメントがその仕事を行います。
$#@60;?php
//セッションを初期化します page_open(array("sess" =$#@62; "Example_Session"));
//セッション変数を登録します $sess-$#@62;登録(ユーザー名);
?$#@62;
すべての変更がデータベースに保存されたことを確認するために、各ページには対応する page_close() 関数も含まれている必要があります。
$#@60;?php
page_close();
?$#@62;
これら以外は、ほとんどのコードは同じです。前の例の PHPLIB バージョンを見てください:
$#@60;?php
//セッション変数を登録します - 構文に注意してください
$ sess-$ #@62;登録(ユーザー名);
$sess-$#@62;登録(株式1);
$sess-$#@62;登録(stock3) ;
$sess-$#@62;register(stock4);
//MySQL に接続 $db = mysql_connect("someserver.com", "tom", "jones"); Database mysql_select_db("stock_db",$db);
//SQL を使用してデータベースをクエリします
$query = "selectstock_pref1,stock_pref2,stock_pref4
from user_info where username=$username"; ($query,$db );
// データベースから株式コードを取得し、セッション変数に割り当てます
list($stock1,$stock2,$stock3,$stock4) = mysql_fetch_row($result); //Output
echo "こんにちは $ usernam #@60;br$#@62;";
echo "あなたの選択した株は:$#@60;br$#@62;"; 60;br$#@62; ";
エコー "$stock2$#@60;br$#@62;";
エコー "$stock3$#@60;br$#@62;";
エコー "$ Stock4$#@60;br$ #@62;";
//ページの残りのコードを生成します
//データをデータベースに保存します
page_close();
?$#@62;
ご覧のとおり、PHP4 のバージョンを一度書き留めてしまえば、PHPLIB のバージョンを理解することはそれほど難しくありません。PHP4 のセッションの内部サポートが主に PHPLIB モジュールに基づいていることを知っていれば、驚くべきことではありません。興味があれば、PHPLIB は実際にセッション管理の ID 認証と権限クラスをさらに深く掘り下げて、データベースベースの認証管理での処理を許可または禁止する権限をユーザーに与えることができます。その方法の例をご覧ください。これらの機能を使用する場合は、ドキュメントに記載されています。
PHPLIB には興味深い組み込み関数もいくつか用意されています。
登録解除(変数)
このニュースには合計
ページがあり、現在
1
1
2
のページにあります
特定のセッションから変数の登録を解除できます。この場合、変数は削除されませんが、その値はデータベースに保存されなくなるため、ページの最後で失われることに注意してください。
$#@60;?php
page_open(array("sess" =$#@62; "Example_Session"));
//変数を登録します $sess-$#@62;register(username);
//登録されているか確認する
if($sess-$#@62;is_registered(username))
{
echo "変数 "username" が登録されています!$#@60;br$#@62;" ;
}
else
{
echo "変数 "username" は登録されていません!$#@60;br$#@62;";
}
//変数の登録を解除します $sess-$#@62;unregister(username ) ;
//ログアウトされているかどうかを確認する if($sess-$#@62;is_registered(username))
{
echo "変数 "username" が登録されています!$#@60;br$#@62; " ;
}
else
{
echo "変数 "ユーザー名" が登録されていません!$#@60;br$#@62;";
}
page_close();
?$#@62;
$#@60;?php
page_open(array("sess" =$#@62; "Example_Session"));
if($sess-$#@62;is_registered(username))
{
echo 「「ユーザー名」という名前のセッション変数は既に存在します
}
else
{
$sess-$#@62;register(username)
?$#@62; ;
delete() は現在のセッションを解放します。
注目すべき興味深い点は、PHPLIB の cookie モードでは、delete() を呼び出した後に新しいセッションを開始したり、クライアントに新しい cookie を設定したり、前のセッションのいくつかの変数を再登録したりすることができることです。 - 基本的にセッションの変更をスムーズに行うことができます。もちろん、このようなことをする場合は、生活を立て直す必要があります...早く!
self_url() は、PHP_SELF および QUERY_STRING 情報を含む、現在のページの URL への参照を返します。
それでは最後に、残念ながら PHP4 と PHPLIB を提供していない ISP を利用している人のために、覚えておいてください、優れた Cookie テクノロジーを使用すればセッションをシミュレートすることはいつでも可能です。ユーザーのサイトへの訪問を長期間保持するための情報を Cookie に設定し、ユーザーが新しいページにアクセスするたびにこの情報を処理するだけです。これは原始的ですが、機能します。また、何かを行うための単純な方法を無効にできない場合もあります。
患者が退院
精神科医: 問題ありません、ビクター。喜んでお手伝いさせていただきます。気分は良くなりましたか?
患者: ああ、簡単ですね!私が最初に入ったとき、空全体が灰色で暗く見えました -- 今では、この日よけの窓の外の景色がこれまでになく良くなりました...
精神科医: そうですね... ヴィクター... 外では気をつけるべきだと思いますが、手すりが少し壊れていて、安全ではないかもしれません。
患者: 心配しないでください、先生 -- こんな日には神聖な気持ちになります...ああ! ! ! !
このニュースには合計
2
ページがあり、現在
1