ホームページ > バックエンド開発 > PHPチュートリアル > PHPセッションセッション制御

PHPセッションセッション制御

WBOY
リリース: 2016-06-13 12:16:20
オリジナル
810 人が閲覧しました

PHP セッション コントロール

ブラウザが Cookie データをオフにすると、Web サイトは Cookie 転送を使用できなくなりますが、実際には、PHP セッション セッション コントロールを記述することで URL パラメータの転送は実行できます (セッション)。全体と Cookie セッション コントロールは同じです

まず、書き込みに使用する php ファイルを作成します


この手順は Cookie と同じです実際、セッションは Cookie を介して渡すこともできます。Cookie に基づいて、最初にセッションを開きます。 : session_start()

のように:

<?php	session_start();    //判断:如果没登录自动跳转到登录页面    if(!$_SESSION["isLogin5"]){        header("Location:login.php");    }
ログイン後にコピー

次の点に注意してください。login.php のリダイレクト ページはヘッダーを使用できませんが、JavaScript を通じてのみリダイレクトできます

//跳转界面echo &#39;<script>';echo "location='index.php'";echo '</script>';
ログイン後にコピー

その後、 $_COOKIE[ ] を $_SESSION[ ] に渡すだけです

これは、セッションが Cookie を介して渡される方法です。以下では、主に URL パラメータの受け渡しについて説明します

最初のメソッド: sid を介してパラメータを渡す、つまり、リンクまたはフォームの後に「?sid=」を追加します。このメソッドは置き換えることもできます。 設定ファイル sid の PHPSESSID によっても、同じ効果を達成できます

login.php

login.php の php 部分も少し変更されています

その他のページ リンクの後に「?sid=」を追加するだけです

<html>	<head>		<title>用户登录</title>	</head>	<body>		<form action="login.php?sid=<?php echo session_id; ?>" method="post">		<table align="center" border="1" width="300">			<caption><h1>用户登录</h1></caption>				<tr>					<th>用户名</th>					<td><input type="text" name="name"></td>				</tr>				<tr>					<th>密码</th>					<td><input type="password" name="password"></td>				</tr>				<tr>										<td colspan="2" align="center">						<input type="submit" name="sub" value="登录">					</td>				</tr>		</table>	</body></html>
ログイン後にコピー
ログアウトプロセスは Cookie とは異なり、4 つのステップに分かれています:

<?php		session_start();	echo session_id()."<br>";  //跳转页面不能不是header    if(isset($_POST["sub"])){    	include "conn.inc.php";    	$sql="select id from users where name='{$_POST["name"]}' and password='".md5($_POST["password"])."'";    	$result=$mysqli->query($sql);    	//保存数据    	if($result->num_rows > 0){    		$row=$result->fetch_assoc();    		    		$_SESSION["username"]=$_POST["name"];    		$_SESSION["uid"]=$_POST["uid"];    		$_SESSION["isLogin5"]=1;    		//跳转界面    		echo '<script>';    		echo "location='index.php?sid=".session_id()."'";   //将session_id() 调过来    		echo '</script>';    	}    	echo "用户名密码有误";    }?>
ログイン後にコピー
オープン、クリア、削除、完全に破棄

2 番目のタイプ

    //开启session    session_start();    //情况session值    $_SESSION=array();    //删除客户端的在cookie中的sessionid    if(isset($_COOKIE[session_name()])){        setCookie(session_name(),'',time()-3600,'/'); //一定要写上第四个参数(路径)    }    //彻底销毁session    session_destroy();
ログイン後にコピー

は実行しません。ブラウザが Cookie データ機能をオンにしているかどうかに応じて設定する必要があります。配信に Cookie を使用するかセッションを使用するかを自動的に選択します a

、および 「?」。これは sid を渡すのと似ていますが、SID は定数です index.php:

login.php:

    <a href="test.php?<?php SID ?>">第二页</a><br>    <a href="test2.php?<?php SID ?>">第三页</a><br>    <a href="logout.php?<?php SID ?>">退出</a><br>
ログイン後にコピー


   		//跳转界面    		echo '<script>';    		echo "location='index.php?".SID."'";   //SID 常量如果开启cookie则使用cookie,如果没开启就用session    		echo '</script>';
ログイン後にコピー
b
<html>	<head>		<title>用户登录</title>	</head>	<body>		<form action="login.php?<?php echo SID; ?>" method="post">		<table align="center" border="1" width="300">			<caption><h1>用户登录</h1></caption>				<tr>					<th>用户名</th>					<td><input type="text" name="name"></td>				</tr>				<tr>					<th>密码</th>					<td><input type="password" name="password"></td>				</tr>				<tr>										<td colspan="2" align="center">						<input type="submit" name="sub" value="登录">					</td>				</tr>		</table>	</body></html>
ログイン後にコピー
,
php.ini を変更します。設定ファイルコードは基本的に Cookie によって渡されるものと同じですが、セッションの開始時にオンにする必要があるだけです: session_start();メソッド:設定ファイルの session.use_trans_sid の値を 1 に変更します

機能: PHPSESSID の形式をデフォルトですべてのリンクに追加します




具体的なコードについては、次のブログを参照してください

















関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート