程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php會話控制之session

php會話控制之session

編輯:PHP綜合

一、session的作用與cookie的作用相似,但是最大的不同在於session是將數據存放於服務器中。另外,session的應用必須先啟動(session_start()函數)。

  所以,在客戶端僅需保存客戶的sessionID,而在服務器端(文件、數據庫、memcache)中保存session變量的值。

  默認處理方式是使用web服務器中的的文件來記錄每個用戶的會話信息。

  用戶請求web服務器時,將sessionID的值發送給服務器,在通過sessionID取出session變量。

二、一個簡單的郵件系統實例

  1.connect.inc.php

<?php 

    define("DSN", "mysql:host=localhost;dbname=testmail");
    define("DBUSER","root");
    define("DBPASS","root");
    try{
        $pdo = new PDO(DSN,DBUSER,DBPASS);
    }catch($PDOException $e)
    {
        die("連接失敗:".$e->getMessage());
    }
?>

  2.login.php 

 <?php 
 
     session_start();
     require "connect.inc.php";
     if(isset($_POST['sub']))
     {
         $stmt = $pdo -> prepare("select id,username from user where username=? and userpass=?");
         $stmt -> execute(arrary($_POST["username"],$_POST["password"]));
         if($stmt -> rowCount()>0)
         {
             $_SESSION = $stmt -> fetch(PDO:FETCH_ASSOC);//將用戶全部信息注冊到session
             $_SESSION["isLogin"] = 1;
             header("Localtion:index.php");
         }
         else
         {
             echo "用戶名或者密碼錯誤";
         }
     }
 ?>
 <html>
 <head><title>郵件登錄系統</title></head>
 <body>
     <p>歡迎光臨郵件系統,session ID :<?php echo session_id(); ?></p>
     <form action="login.php" method="post">
         用戶名: <input type="text" name="username"><br>
         密碼:   <input type="password" name="password"><br>
         <input type="submit" name="sub" value="登錄">
     </form>
 
 </body>
 </html>

  3.index.php

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved