<?php
session_start();
if($_REQUEST['a']=1) {
print "aaaaa";
session_destroy();}
if($_SESSION['id']=='admin' and $_SESSION['pass']=='admin') {
print "传session成功了呵呵<BR>";
print "id:".$_SESSION['id']."<BR>";
print "pass:".$_SESSION['pass']."<BR>";
print '<A HREF="13.php?a=1">退出登录</A>';
exit;
}
?>
<FORM METHOD=POST ACTION="13.php">
<CENTER>id:<INPUT TYPE="text" NAME="id" ><br>
password<INPUT TYPE="text" NAME="pass"><br></CENTER>
<INPUT TYPE="submit">
</FORM>
<?php
if($_REQUEST['id']=='admin' and $_REQUEST['pass']=='admin')
{
session_register('id','pass');
$id=$_REQUEST['id'];
$pass=$_REQUEST['pass'];
print '<A HREF="13.php">跳到下一页看看session对不对</A>';
}
if(!$_SESSION['id']) {
print "session已经清除.退出登录";
}?>
session_start();
if($_REQUEST['a']=1) {
print "aaaaa";
session_destroy();}
if($_SESSION['id']=='admin' and $_SESSION['pass']=='admin') {
print "传session成功了呵呵<BR>";
print "id:".$_SESSION['id']."<BR>";
print "pass:".$_SESSION['pass']."<BR>";
print '<A HREF="13.php?a=1">退出登录</A>';
exit;
}
?>
<FORM METHOD=POST ACTION="13.php">
<CENTER>id:<INPUT TYPE="text" NAME="id" ><br>
password<INPUT TYPE="text" NAME="pass"><br></CENTER>
<INPUT TYPE="submit">
</FORM>
<?php
if($_REQUEST['id']=='admin' and $_REQUEST['pass']=='admin')
{
session_register('id','pass');
$id=$_REQUEST['id'];
$pass=$_REQUEST['pass'];
print '<A HREF="13.php">跳到下一页看看session对不对</A>';
}
if(!$_SESSION['id']) {
print "session已经清除.退出登录";
}?>
解决方案 »
- php使对象可以像数组一样进行foreach循环 ,在foreach循环里进行对值处理,然后怎么样添加到一个新的数组里面?
- 读取xml的问题,刚学xml这一块的函数
- 请教preg_replace函数里的,这是什么东西!~
- 不知道这算不算是PHP5的BUG,代码绝对正确,就是插不进去数据,大家近来瞧瞧 散分!!
- 求phrame的mvc中文资料。
- ie 可以直接运行asp 的网页程序, 请问ie 可不可以直接运行php 的程序,要不要装些什么东西的?
- 浪潮下午让偶去面试,偶该怎么办
- simple dom html请教
- 到期自动解禁功能实现
- 求个P标签的正则匹配,匹配第一段的内容
- 请教:哪里有翻译过来的中文PHP.INI文件?像下面的那些我都不知道有什么作用?
- 有没有研究过phpGroupWare的兄弟??
一般来说,在网站上某一个页面中的变量(指服务器端变量,下同)是不能在下一页中用的,有了session就好办了。session中注册的变量可以作为全局变量使用。这样我们就可以将session用于用户身份认证,程序状态记录,页面之间参数传递
2.<?session_start()?>
<html><body>
<?
$welcome="hello world !";
session_register("welcome");//注册$welcome变量,注意没有$符号
if(session_is_registered("welcome"))//检查$welcome变量是否注册
echo "welcome变量已经注册了!";
else
echo "welcome变量还没有注册!";
?>
</body></html>
3.整个网站
这里是一个详细的介绍.
上面是一个有关于登录的session实例.
你看看吧这个东东很容易的.
他的泛围可以很大看你怎么用他了.
的 PHP Session 解決方案一直出現。直到 PHP4 終於將 Session 納入它的標準
功能。從此 PHP 在 Session 上終於可以抬得起頭了。Session 中文實在是很難形容,一般都譯成時域。其實是在瀏覽某個網站時,在
瀏覽器沒有關閉的情形之下,都保持在同一個 Session 下。因此,利用 Sessio
n 的特性,可以計算使用者從進站到現在所瀏覽的頁數,也可以在伺服器端記載
使用一些資訊,避免這些資訊傳到使用者端。說得更白話一些,例如電子商務網站中 B to C 的網站 (商家對客戶),常會有手
推車的功能 (Cart)。此時,將手推車的資訊留在伺服器端,不但可以記錄使用者
採買的資料,也不會讓這些相關資訊在網路上被截收,甚至以假亂真。PHP4 產生的 Session 數字,是利用 Hash 雜湊所產生的 32 位元組的文字或數
字。因為產生時,時間也是它的種子,因此這個 Session 數字在該網站具有獨一
無二的特性。欲使用 Session 的功能,首先要準備 PHP4 的版本,若使用 PHP3 及之前的版本
,只好在網路上找其它的解決方案了。由於 Session 牽涉到值的傳遞,因此,在
編譯 PHP4 時,在加上 --enable-trans-sid 的參數,也就是允許 SessionID 的
參數在不同的網頁之中傳遞。PHP4 在運作時,不會主動產生 Session 的值,除非呼叫了 Session 的函式: s
ession_start()。告訴 Web 伺服器後端,也就是 PHP4 的程式,啟動 Session
的功能。此時,PHP4 即產生唯一的 Session 代碼,並依在 php.ini 中所設定
session.save_path 的值 (內定為 /tmp),將這個代碼寫入檔案中,檔案的名稱
類似 sess_a5aa4678de539d45cf5e2e3309751f6a。由於此時 Session 已經啟動了,因此可以將變數寫到 Session 中,讓這些變數
可以在不同的 Homepage 中傳遞。Session 函式 session_register() 就是負責
這樣的工作。例如下例 1.php 的 $abc 參數可以讓 2.php 直接使用:<?php
// 檔名 1.php
session_start();
$abc="ABCDEFG";
$zzz="zzzzzzz";
session_register("abc");
session_register("zzz");
echo "1.php";
?>
<?php
// 檔名 2.php
session_start();
echo "2.php\n";
if (isset($abc)) {
echo $abc;
echo $zzz;
} else {
echo "變數沒傳進來";
}
?>
範例中的 Session 存在 /tmp/sess_33e401e2bf67a2f73b64d48b2aae6c4d,其內
容類似:abc|s:7:"ABCDEFG";zzz|s:7:"zzzzzzz";
可以看到,向 Session 註冊的變數,以 ; 分開。而變數的名稱及變數值,都記
錄在其中。有了 Session 之後,網頁不再是各自獨立的程式,而是整個網站就像
一套整合的應用程式。Session 對網站間的數值傳遞而言是很方便,不過它和瀏覽器的 Cookie 有關,
若使用者將 Cookie 關掉,就會法預期它的結果了。實際的使用時,請注意變數的名稱,不要和別的變數沖到,那就很難找出問題的
原因。而變數可以有很多個,反正都是記在 /tmp/sess_xxxxxxxxxx... 之中,不
過不要太濫用 Session 而讓程式變得過於複雜,日後就很難維護了。