PHP セッション コントロール
ブラウザが Cookie データをオフにすると、Web サイトは Cookie 転送を使用できなくなりますが、実際には、PHP セッション セッション コントロールを記述することで URL パラメータの転送は実行できます (セッション)。全体と Cookie セッション コントロールは同じです
まず、書き込みに使用する php ファイルを作成します
この手順は Cookie と同じです実際、セッションは Cookie を介して渡すこともできます。Cookie に基づいて、最初にセッションを開きます。 : session_start()
のように:
<?php session_start(); //判断:如果没登录自动跳转到登录页面 if(!$_SESSION["isLogin5"]){ header("Location:login.php"); }
//跳转界面echo '<script>';echo "location='index.php'";echo '</script>';
これは、セッションが 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>
<?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();
、および 「?」。これは 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>';
<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>
機能: PHPSESSID の形式をデフォルトですべてのリンクに追加します
具体的なコードについては、次のブログを参照してください