php SESSION操作



   Session   ,      $admin   :



<?php 
//     Session 
session_start(); 
//         admin    ,    。 
$_SESSION["admin"] = null; 
?>
         Seesion,    PHP       Session   ,         Session      ,   session_start()   。          ,PHP      Session      。

          ,                 Session   ,       :sess_4c83638b3b0dbf65583181c2f89168ec,    32           。       ,       :

admin|N;            :

   |  :  : ;             。        ,       。

            ,              md5       :

login.php
<?php 
//       ... 
$posts = $_POST; 
//           
foreach ($posts as $key => $value) {
    $posts[$key] = trim($value); 
} 
$password = md5($posts["password"]); 
$username = $posts["username"]; 

$query = "SELECT `username` FROM `user` WHERE `password` = '$password' AND `username` = '$username'"; 
//         
$userInfo = $DB->getRow($query); 

if (!empty($userInfo)) { 
    //        ,   Session 
    session_start(); 
    //          admin   ,    true 
    $_SESSION["admin"] = true;  
} else { 
    die("       "); 
} 
?>
                 Session,      :

<?php 
//               
$admin = false; 
//      ,       
session_start(); 
//         
if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true) { 
    echo "       "; 
} else { 
    //      ,  $_SESSION["admin"]    false
    $_SESSION["admin"] = false; 
    die("     "); 
} 
?>
         ?  $_SESSION                ,                ,           。

            ?   Session   。

<?php 
session_start(); 
//                   
unset($_SESSION['admin']); 
//            Session   
session_destroy(); 
?>
  Session     Cookie          ?   Session         Cookie  ?   ,   Cookie     Session       。

  Session              ?     Session ID     ,    Session ID,     Session       ,Session ID       ,            ,   Session    。         Session      ,  Session ID       ,        ID     ,        ,       Session ID。

            Cookie,  Cookie     Session             Session ID   Session       。

          Session     :

<?php 
session_start(); 
//       
$lifeTime = 24 * 3600; 
setcookie(session_name(), session_id(), time() + $lifeTime, "/"); 
?>
     Session          session_set_cookie_params();     Session      ,       session_start()         :

<?php 
//       
$lifeTime = 24 * 3600; 
session_set_cookie_params($lifeTime); 
session_start(); 
$_SESSION["admin"] = true; 
?>
          IE 6.0 , session_set_cookie_params();      Cookie      ,           setcookie       cookie。

          Cookie    ?   ,              ,       ,             Session。       Session ID  ?   URL            ,PHP      Session ID     URL  ,URL   :http://www.openphp.cn/index.php?PHPSESSID=bba5b2a240a77e5b44cfa01d49cf9669,   URL      PHPSESSID    Session ID ,       $_GET      ,     Session ID      。

<?php 
//       
$lifeTime = 24 * 3600; 
//       Session  ,    PHPSESSID 
$sessionName = session_name(); 
//     Session ID 
$sessionID = $_GET[$sessionName]; 
//     session_id()       Session ID 
session_id($sessionID); 

session_set_cookie_params($lifeTime); 
session_start(); 
$_SESSION['admin'] = true; 
?>
          ,        Session             ,        ,        ,         Session        ,session_save_path()           。      Session              Web         ,  ,             。

<?php 
//           
$savePath = './session_save_dir/'; 
//       
$lifeTime = 24 * 3600; 
session_save_path($savePath); 
session_set_cookie_params($lifeTime); 
session_start(); 
$_SESSION['admin'] = true; 
?>
    session_set_cookie_params();     ,session_save_path()        session_start()         。

          ,      Session  。                 ,       ,PHP            (     ),      Session  。          :

person.php
<?php 
class person { 
    var $age; 
    function output() { 
        echo $this->age; 
    } 
    function setAge($age) { 
        $this->age = $age; 
    } 
} 
?>
setage.php
<?php 
session_start(); 
require_once 'person.php'; 
$person = new person(); 
$person->setAge(21); 
$_SESSION['person'] = $person; 
echo '<a href='output.php'>check here to output age</a>'; 
?>
output.php
<?php
//       ,        。 
ini_set('unserialize_callback_func', 'mycallback'); 
function mycallback($classname) { 
    include_once $classname . '.php'; 
} 
session_start(); 
$person = $_SESSION['person']; 
//     21 
$person->output(); 
?>
        setage.php      ,    setage()   ,       21,             Session  (PHP          ),    output.php  ,      ,              ,                      ,             ,     person.php      ,       ,      age     21,     output()       。
session_start();
 $i=session_id();
 $ii=$_COOKIE['PHPSESSID'];

    ,        session_set_save_handler        Session      。

COOKIE  
	setcookie('key','value');
	
	echo $_COOKIE['key'];