ホームページ  >  記事  >  バックエンド開発  >  Cookie はクライアント側で無効になっていますが、サーバー側の PHP は引き続きセッション メソッドを使用します。

Cookie はクライアント側で無効になっていますが、サーバー側の PHP は引き続きセッション メソッドを使用します。

WBOY
WBOYオリジナル
2016-06-20 13:01:29899ブラウズ

ページが PHP サーバー上の session_start() 関数を呼び出した後、ページは 3 つのことを実行します
1. サーバー上 (c:windowtem ディレクトリ下) に sess_############### のテキスト ファイルを作成します
2. 無効な sess_########## テキスト ファイルを削除します (ここでは説明しません)
3. http ヘッダーと Web ページのコンテンツをユーザーに送信します。http ヘッダーには、set-cookie:PHPSESSIONID=123456789755jahasd、
のような数字の文字列が含まれます。 Cookie が無効になっていない場合、ユーザーがこの Web サイトに再度アクセスすると、ブラウザは PHPSESSIONID=123456789755jahasd をサーバーに送信しません

現時点では、まだ文字列 PHPSESSIONID=123456789755jahasd を使用している場合、それを各ハイパーリンクの後ろに配置して、get リクエストとしてサーバーに送信できます
例:

最初のページ:

<?php
  session_start();
 $id = session_id();  //获取session_start()生成的session_id
$_SESSION['web'] = '某php博客';
?>
<a href='http://www.scutephp.com?user=123&PHPSESSIONID=<?php echo $id;?>'>PHP建站经验</a>



2 番目のタイプのページ:

<?php
    if($id = $_GET['PHPSESSIONID'])
   {
       session_id($id);     //让下面的session_start(),如果有这个文件就不要创建,否则就创建
   }
 sesstion_start();
echo  $_SESSION['web'];  同样可以把session取出来

?>


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