EcStart blog << ¸Ô±¡½Ð¤J¤º

°e«Ü¤j!!! §K¶OÆg§U ½×¾ÂªÅ¶¡
ªð¦^¦Cªí ¦^´_ µo©«

Âà¶K-session§¹¾ã±Ð¾Ç!!

session¥þ±Ðµ{(¤@)
--------------------------------------------------------------------------------
 
¤@¡Bsession·§­z  
session¬O¤°»ò¡A­è¶}©l§Ú¤]¤£©ú¥Õ¡A«D±M·~µü¨å½Ķ¬°·|ij¡A·|ij´Á¡C§@­Ó¤£¤Ó«ê·íªº¤ñ³ë§a
¡]ÁöµM¤£«ê·í¡A¦ý·N¸q«o¬O¤@¼Ëªº¡^¡A¡Asession¬O§A©Mºô¯¸¤§¶¡ªº·P±¡¡C  
session¦bWEB§Þ³N¤¤¦û¦³«D±`­«­nªº¥÷¶q¡C¥Ñ©óºô­¶¬O¤@ºØµLª¬ºAªº³s±µµ{§Ç¡A¦]¦¹§AµLªk±oª¾
¥Î¤áªºÂsÄýª¬ºA¡C¦]¦¹§Ú­Ì¥²¶·  
³q¹Lsession°O¿ý¥Î¤áªº¦³Ãö«H®§¡A¥H¨Ñ¥Î¤á¦A¦¸¥H¦¹¨­¥÷¹ïwebªA°È¾¹´£¨Ñ­n¨D®É§@½T»{¡A¨Ò
¦p¡A§Ú­Ì¦b¬Y¨Çºô¯¸¤¤±`±`­n¨D¥Î¤áµn¿ý¡A  
¦ý§Ú­Ì«ç»òª¾¹D¥Î¤á¤w¸gµn¿ý¤F©O¡A¦pªG¨S¦³sessionªº¸Ü¡Aµn¿ý«H®§¬OµLªk«O¯dªº¡A¨º°Z¤£­nÅý
¥Î¤á¦b¨C¤@­¶ºô­¶¤¤³£­n´£¨Ñ  
¥Î¤á¦W©M±K½X¡C  
·íµM¡Asession¤£¥ú¥Î©ó¥Î¤á¨­¥÷»{ÃÒ¥¯à¡AÁÙ¥i¯à¥Î©ó¨ä¥¦¤è­±¡A¥H«á§Ú­Ì·|´£¨ìªº¡C  
session¥Î¤¤¤å¨Ó¸ÑÄÀ´N¬O·|¸Ü´Á¡C¤@­Ó·|¸Ü´Á¶}©l©ó¥Î¤á¿é¤J¤@­Ó¯¸ÂIªººô§}®É¡Aµ²§ô©ó¥LÂ÷¶}
³o­Ó¯¸ÂI®É¡C  
session³Ì¦­¥X²{¦b°ÊºA¸}¥»»y¨¥Active Server Pages¤¤¡A¥¦ªº¥¯à¤§±j¤j¡A¬O¤@¥y¸ÜµLªk»¡²M
·¡ªº¡C  
·íphpÁÙ¦b3.0ª©¥»®É¡Asession¬O¥¦¥Ã»·ªºµh¡CÁöµMphp¨ã¦³°õ¦æ³t«×§Ö¡A¨Ï¥ÎÆF¬¡¡A¥¯à±j¤jµ¥
ÀuÂI¡A¦ý¦]¬°sessionªº°ÝÃD¡A¨Ï  
«Ü¦h¯¸ÂIªº¶}µo©ñ±ó¤Fphp,¦Ü¤Ö§Úªº¦ÑÁó¬O³o¼Ë»{¬°ªº¡C·í®É¦³«Ü¦hphp§K¶O¨ç¼Æ®w´£¨Ñ¦bphp3¤W
¹ê²{sessionªº¤è®×¡A¦ý³£Åý¤H·Pı¤£¥¿©v¡C  
´N¦n¹³§Aªá¦n´X¤d¤j¬v¶Rªº¤â¾÷«o°t¸m¤@­Ó«Ü²ÊÁWªº¯ó§@ªº³U¤l¤@¼Ë¡AÁöµM¥¯à¬O¤@¼Ëªº¡A¦ýÁ`
Åý¤Hı±o¹û§á¡Cphp4ªº¥X²{Åýphp¦bsession°ÝÃD¤W  
¦³¤F½¨­ªº¾÷·|¡CÁöµM¥¦ªºsession¹ê²{ÁÙ¤£¬O«Ü²z·Q(¥D­n¬O®Ä²v°ÝÃD),¦ý²¦³º¬O¥¦¦Û¤v¹ê²{
ªº¡A¦Ó¥B¥i¥H¹ê»Ú¨Ï¥Î¤F¡C  
¨º§Ú­Ì¥Îsession·F¤°»ò©O¡A§A»¡¤F¥b¤Ñ¡A§Ú¥Î¤£¤Wªº¸Ü¡A§A°Z¤£¦³½æ¯È±i¤§¶û¡COK,§Ú­Ì¨Ó¬Ý¬Ý
session¦³¤°»ò¥Î:§@¹Lºô¯¸ªº¤H³£¦³  
³o¼ËªºÅé·|¡A¦b¤@­¶­¶­±¤¤ªºÅܶq(¦b¥»³¹³£«üªA°È¾¹ºÝÅܶq¡A¤U¦P)¬O¤£¯à¦b¤U¤@­¶¤¤¥Îªº¡AÁö
µM¦³¤@¨Ç¿ìªk¥i¥H¹ê²{¡A¤ñ¦p¥Îform¡Aurlstringµ¥µ¥  
¦ý¦³¨Ç¹ï©ó¥Î¤á¨Ó»¡¬O¤£¤è«Kªº¡A§Y¨ÏÅýform¦Û°Ê´£¥æ¡A¦ý¨ä¤¤ªº©µ®É¦b²{¤µªººôµ¸ª¬ªp¤U¨¬¥H
Åý¤H²¿®§,¦Ó³o¨âºØ¤èªk³£©úÅã¥[¤jµ{§Ç­ûªº­t¾á¡C¦pªG§A  
¥¿¦b¶}µo¤@­Ó¤j«¬¶µ¥Ø¡A¨º³o¨ÇÃB¥~ªº­t¾á¬O¤£¯à©¿²¤ªº¡C¦Ó¦³¤Fsession´N¦n¿ì¤F¡Asession¤¤
µù¥UªºÅܶq¥i¥H§@¬°¥þ§½Åܶq¨Ï¥Î¡C¤°»ò,¥þ§½Åܶq?  
¦n·¥¤F¡C³o¼Ë¤@¨Ó¡A§Aª¾¹D¦³¤°»ò¥Î¤F§a:³Ì¥D­nªº¥Î©ó¥Î¤á¨­¥÷»{ÃÒ,µ{§Çª¬ºA°O¿ý¡A­¶­±¤§¶¡
°Ñ¼Æ¶Ç»¼¡C  
»¡¤F¥¦³o»ò¥b¤Ñªº¦n³B¡A§A¤w¸g°Ê¤ß¤F§a¡A¥ý§O°ª¿³¡A¥¦ÁÙ¦³¯ÊÂI©O:¥¦¬O¥Î¤å¥ó«O¦sªºÅܶq(·í
µM®Ä²v¤£°ª¤F,ÁöµM¥i¥H¥Î§Oªº¤è¦¡¡A¦ý  
«Ü³Â·Ðªº)¡A¤£¯à«O¦s¹ï¶H¡C»P¤§¬Û¹ïªº¬O¡Aasp¤¤ªºsession¥i¥H«O¦s¹ï¹³Åܶq¡A¥Î¤º¦sÅܶq¨Ó«O
¦ssessionÅܶq¡C¦ý¬°¤°»ò§Ú­ÌÁÙ¿ï¥Îphp©O¡A¨þ¨þ,  
¬°¤°»ò¡A§A¯à±q¥»®Ñªº¶}©l¬Ý¨ì³o³¹¡A·Q¥²§A¤]À³¸Ó©ú¥Õ¤F§a,§AÁÙ¤£©ú¥Õ¡AFaint,§A¦A±qÀY¬Ý°_
§a¡A§Ú«OÃÒ§A¦¨¬°PHP±M®a^_^¡C  
session¬O«ç¼Ë¹ê²{ªº©O¡H¨þ¨þ¡A§A¤@©w¥H¬°«Ü°ª²`§a¡A§Ú¨Ó§i¶D§A¥¦ªº¯µ±K¡C¦pªG»¡¥u«O¦sÅܶq
ªº¸Ü¡A«Ü¦hŪªÌ³£©ú¥Õ¡A³o¬O«Ü²³æªº¡A  
¦ý«e­±§Ú­Ì»¡¹L,http¨óij¬O¤@ºØµLª¬ºAªº³s±µ¡A§A«ç»òª¾¹D¨º­ÓÅܶq¬O½Öªº¡A³o­ÓÅܶq¤S¬O½Öªº
©O?¦bsession¹ê²{¤¤¥Îcookie¹ê²{ªº¡Ccookie  
¦s¦b©ó«È¤áºÝ¡A¤]´N¬O¥Î¤áªº¾÷¾¹¤¤¡A¸Ì­±«O¦sµÛ¥Î¤áªºsession ID¡A¤]´N¬Osession¸¹½X,·í¥Î
¤áªºÂsÄý¾¹½Ð¨DªA°È¾¹®É§âsession ID¤]¤@°_°e¨ì  
ªA°È¾¹¡A³o¼ËªA°È¾¹´N¥i¥HÃѧO§A¬O½Ö¡A¤]´N¥i¥H§âÅܶqÃѧO¶}¤F¡C³o¼Ë§Ú­Ì´N¤£Ãø²z¸Ñ¤F,¬°¤°
»ò¦³®Ésession·|¥¢®Ä¤F¡C¤£«Hªº¸Ü¡A§A¥i¥H¸Õ¸Õ:  
¦bIEªº"¤u¨ã"µæ³æ¤W¦³"Internet¿ï¶µ"µæ³æ,¥´¶}«á¦A¿ï"¦w¥þ"->"¦Û©w¸q¯Å§O",±N¦w¥þ³]¸m¤¤
ªº"¤¹³¨Ï¥Î¨C­Ó¹ï¸Ücookies"³]¬°¸T¥Î¡A¦A¬Ý¬Ý  
session¯à¤£¯à¥Î¡C³o¤U©ú¥Õ¤F§a!¤£¹Lphp4¦blinux/unix¥­¥x¤W¥i¥H¦Û°ÊÀˬdcookiesª¬ºA¡A·í
cookies ¤£¥i¥Î®É¡A¦Û°Ê·|§âsession ID  
ªþ±a¦burl¤W¶i¦æ¶Ç»¼¡C³o¬O¥¦¦bsession¤è­±¤ñasp¦hªº°ß¤@ªºÀuÂI¤F¡C

[ ¥»¤å³¹³Ì«á¥Ñ s9054478 ©ó 2006-1-25 09:00 ½s¿è ]
Áµ´°Ý¹q¸£µ{¦¡³]­pµ¥§Þ³N©Ê¬ÛÃö°ÝÃD.
(¤×¨ä¬O¤W¯Z®É¶¡) ¤@«ß«ÊÂê§R°£msn¦W³æ.
½Ð´L­«§O¤H¤Î¦Û¤v­Y±z¥[¤JMSN¥u¬O·Q°Ý¸ò¹q¸£¬ÛÃö°ÝÃD.
½Ð±z¨ì ½×¾Â¤Wµo°Ý¥H¸`¬Ù¤j®aªº®É¶¡.
MSN : fiend@ecstart.com

Âà¶K-session§¹¾ã±Ð¾Ç!!

session¥þ±Ðµ{(¤G)
--------------------------------------------------------------------------------

  
¤G¡Bphp3,4¤¤sessionªº¹ê²{  

¦bphp3¤¤¬O¨S¦³session³oºØªFªFªº¡A¦ý§Ú­Ì¤S»Ý­n¡A«ç»ò¿ì©O¡H§O«æ¡A¦³«Ü¦h¤H´À§A°µ¤F³o¨Ç¡A
³o¨ä¤¤³Ì¦³¦Wªº­nºâphplib¤F¡C§A¥i¥H¥h°ê¥~¤U  
¸ü¡A¤]¥i¥H¤W°ê¤º¤j³¡¤Àphp¯¸ÂI¤U¸ü¡C§Ú­Ì­n°µªº²Ä¤@¥ó¨Æ¬OÅýphplib©Mphp3µ²¦X¦b¤@°_¨Ï¥¦¯à
¤u§@¡C¬°¤F¯à¹ê²{³o¤è­±ªº¥¯à¡A§Ú­Ì»Ý­n¥ý¦w¸Ëphplib¡C  
¸òµÛ§Ú¨Ó°µ¡A«Ü®e©öªº(¥H¤U¤èªk¦b
win2000+php3.0.16+apache1.3.12+phplib7.2c+mysql3.23.21 for win32 ¤W³q¹L)  
phplib³Ì°ò¥»ªº¥¯à¥]¬A¥Î¤á»{ÃÒ¡ASessionºÞ²z¡AÅv­­¤Î¼Æ¾Ú®wªº©â¹³¤Æ¡C  
«ç¼Ë¨Ï¥Îphplib¨Ó¹ê²{session¥¯à©O?  
¤@¡B­º¥ý§A±Nphplib¸Ñ¶}¡A¸Ì­±¦³¤@­Ó¥Ø¿ý¥s&quot;php&quot;,±N³o­Ó¥Ø¿ý«þ¨©¨ìapacheªº¦w¸Ë¥Ø¿ý¤U¡C¥H
¤U¥Hµ§ªÌªº¾÷¾¹¬°¨Ò:  
§Úªºapache¦w¸Ë¦bd:apache ¥Ø¿ý¤U,§Ú±N¤W­±ªº&quot;php&quot;¥Ø¿ý«þ¨©¨ìd:apache,¨Ã±Nphplib¤Uªºpages
¥Ø¿ý¤Uªº¤å¥ó©M¥Ø¿ý¤@°_«þ¨©¨ì  
d:apachehtdocs¤U¡Aª`·N¤£±a¥Ø¿ý¥»¨­¡C  
phplibªºÃþ®w»Ý­n®Ú¾Ú¨t²Î¶i¦æªì©l¤Æ¡A§A¥i¥H­×§ïlocal.inc¤å¥ó¡A¨ä¤¤¥]§tµÛ¤@¨Ç°ò¥»°Ñ¼Æ¡A
§A¥i¥H®Ú¾Ú¦Û¤v¾÷¾¹ªº¹ê»Ú±¡ªp¨Ó¶i¦æ­×§ï¡C  
±Nd:apachephpprepend.php3¤å¥ó¤¤ªº¤@¬qµ{§Ç§ï¬°¦p¤U¼Ë¤l¡G
  1. if (!isset($_PHPLIB) or !is_array($_PHPLIB)) {  
  2. $_PHPLIB$"libdir"] = "d&#58;/apache/php/"; //³o¨à§ï¬°§A©ñphplib¤Uphp¥Ø¿ýªº¸ô®|  
  3. }  
½Æ»s¥N½X
µM«á±Nd:apachephplocal.inc¤å¥ó§ï¦p¤U:
  1. class DB_Example extends DB_Sql {  
  2. var $Host = "localhost";//§Aªºmysql¼Æ¾Ú®w©Ò¦b¥D¾÷¦W  
  3. var $Database = "test";//¼Æ¾Ú®w¦W  
  4. var $User = "root";//¼Æ¾Ú®w¥Î¤á¦W  
  5. var $Password = "";//¼Æ¾Ú®w¥Î¤á¤f¥O  
  6. }
½Æ»s¥N½X
³Ì«á¤@¨B°õ¦æ¸Ñ¶}ªºphplib¥Ø¿ý¤¤ªºstuff¥Ø¿ý¤Uªºcreate_database.mysql¤å¥ó,¥Í¦¨ªì©lªí¡C  
§Ú­Ì»¡©ú¤@¤Uphplibªº¤u§@­ì²z¡A¨C¤@­Ó¨Ï¥Îphplibªº­¶­±­º¥ý¥²¶·¥i¥H§ä¨ì¹B¦æphplib©Ò¥²¶·
Ãþ®w¤å¥ó¡A§Ú­Ì¥i¥H¦bphp3.ini¤¤³]¸mauto_prepend  
Åܶq¨Ó¤ä«ù¡Aphplib¤Àµo¥]¤¤¥]§t¤@­Óprepend.php3¤å¥ó¡A±Nauto_prepend«ü©w
¬°&quot;d:/apache/php/prepend.php3&quot;(±a¤Þ¸¹)«á¡A¦U­¶­±´N·|¦Û°Ê¥]§tphplibÃþ®w¡A§Ú­ÌÁÙ¥i¥H  
±NphplibÃþ®w©Ò¦b¥Ø¿ý¥[¶iincludeÅܶq¤¤¡A¥H«K¥i¥H§ä¨ì³o¨Ç¤å¥ó¡A·íµM¡A³Ì­fªº¿ìªk´N¬O«ü©w
phplibªºµ´¹ï¸ô®|¡A³o¥i¤£¬O­Ó¦n¥D·N,¥i²¾´Ó©Ê¤Ó®t¡I  
²Ä¤G¨B¡A¨C¤@­Ó¨Ï¥Îphplibªº­¶­±¤¤¡A§A¥²¶·­º¥ý½Õ¥Îpage_open¨ç¼Æ¶i¦æªì©l¤Æ¡C³o·|§i¶D
phplib¡A§A²{¦b©Î±N¨Ó·|¥Î¨ìª¬ºA«O¦s¡C¤@­Ó¨å«¬ªº  
page_open¨Ò¤l¦p¤U¡G
  1. <?php  
  2. page_open(array("sess" => "Example_Session"));  
  3. ?>
½Æ»s¥N½X
¼Æ²ÕÅܶq(sess)¥Î¨Óªì©l¤Æ¤@¨Çª¬ºA«O¦s¹ï¶H¡Aª`·N¡G¥²¶·¨Ï¥Îphplib¤º¸m¦W(sess)¡A³o¨Ç¤º¸m
¦W¬O§A¦blocal.ini¤¤©Ò©w¸qªº¡Apage_open  
¨ç¼Æ¥²¶·¦b­¶­±¤º®e¿é¥X¨ìÂsÄý¾¹¤§«e³Q½Õ¥Î¡Cphp3¸}¥»³Ì«áÀ³¥Hpage_close()µ²§ô¡A³o±N·|±N
¦³Ãöª¬ºA¼Æ¾Ú¼g¦^¨ì¼Æ¾Ú®w¤¤¡A¦pªG§A§Ñ¤Fªº¸Ü¡A  
µ²ªG§AÀ³¸Ó¯à·Q¨ì,«¢«¢¡A§AªºÅܶq¥þ¥á¤F,¥i¤£­n©Ç§Ú¨S§i¶D§A...  

¦]¬°phplib¨Ï¥Î¤FCookies¨Ó«O¦sª¬ºA«H®§¡A©Ò¥Hpage_open()¨ç¼Æ¥²¶·¦b­¶­±¤º®e¿é¥X¨ìÂsÄý¾¹
¤§«e³Q½Õ¥Î¡A ³o¸Ìªº­¶­±¤º®e¥i¥H¬O¥ô¦óHTML  
«H®§©ÎªÌªÅ¦æ¡A¦pªG§Aµo²{¤F¿ù»~&quot;Oops - SetCookie called after header has been sent&quot;¡A
³oªí©ú¦bpage_open()¤§«e¦VÂsÄý¾¹¿é¥X¤F¨Ç¤°»ò¡A  
§A­n¯S§O¯d·NªÅ¦æ¡A¦]¬°«D±`Ãø§ä¨ì¡A¨å«¬ªº¿ù»~¬O¦b<? ©M ?>¼Ð°O¤§¶¡¿é¥X¤FªÅ¦æ¡A§AÀ³Àˬd
¦blocal.inc©Mprepend.php3¤å¥ó¤¤¬O§_¥]§t¤FªÅ¦æ¡A  
³o¤]¬O¤@­Ó«D±`®e©ö¥X¿ùªº¦a¤è¡C¬°¤F´î¤Ö¥X¿ùªº¥i¯à,§Ú­Ì¥i¥H³o¼Ë®Ñ¼gªì©l¤Æµ{§Ç:
  1. <?  
  2. page_open(array("sess" => "Example_Session"));  
  3. ?>  
  4. <html>  
  5. .....  
  6. </html>
½Æ»s¥N½X
²Ä¤T¨B¡A¨ãÅé¨Ï¥Î¡C  
·í¤@­Ó¥Î¤á³X°Ý¤F¸Óºô¯¸«á¡AÀH§Y¥Î¤áªºsession´N¶}©l¤F¡A¦pªG¥Î¤áªºÂsÄý¾¹¤ä«ùcookieªº¸Ü¡A
±N·|«Ø¥ß¤@­Ósessionªºid©ñ¤Jcookie¡A  
³o­Ó°ß¤@ªºID¬O¥ÑPHP3ÀH¾÷¥Í¦¨¡AµM«á¤S¥ÎÀH¾÷ºØ¤l¦r¦ê¶i¦æmd5¥[±K¹L¤Fªº¡A³o¸ÌªºcookieÀ³¸Ó
¥s°µsession cookie¡A¦]¬°³o­Ócookie¬O¤£·|  
¼g¨ì¥Î¤áµw½L¸Ì¥hªº¡A·í¤@­Ósession´Áµ²§ôªº®É­Ô¡A¸Ócookie¤]³Q§¹µ²¤F¡C¦pªG¥Î¤áÂsÄý¾¹¤£¤ä
«ùcookieªº¸Ü¡A¨º»ò ¸Ósessionªºid±N·|©ñ¤JurlÃ줤¡A  
¦]¬°¬O¥[±K¹Lªº¡A©Ò¥HÅѨú¤F¤]¨S¥Î¡Csession ID¦s©ñµÛ¥Î¤áªº¦³Ãö«H®§¡A¦p¥Î¤á¤w»{ÃÒ¡B»{ÃÒ
¨ì´Á®É¶¡¡B¥Î¤áÅv­­¡A©M¨ä¥L¤@¨Ç§A¥i¯à»Ý­nªº«H®§¡A  
¤è«K§Ú­Ì¨ú¥Î¡C  
Session¨ä¹ê´N¬O¥Î¤á¤@¦¸·|¸Üªº¹Lµ{¡CSession¨Ã¤£¬O¶È¶È¥Î¨Ó¸òÂܥΤ᪺µù¥U¡A¹ê»Ú¤W¡A¥¦ÁÙ
¥i¥H¦³¨ä¥¦ªº¨Ï¥Î³õ¦X¡A§A¥i¥H¥Î¥¦¨Ó¦sÀx¥ô¦ó§A·Q­n  
¦s¶Jªº«H®§¡A³o¨Ç«H®§¥i¥H¦b¥Î¤áÀH«á³X°Ýªº­¶­±¤¤¬£¤W¥Î³õ¡A·íµM«e´£¬O¨º¨Ç­¶­±­n¨Ï¥Î
PHPLIB¡C¤èªk«Ü²³æ¡Aµù¥U¤@­ÓÅܶq«á§Y¥i¦bÀH«áªº­¶­±¤¤¨Ï¥Î¥¦¡A  
ª½¦Üsessionµ²§ô¡C¤èªk¡G
  1. <?php $sess->register( "variable_name"); ?>  
½Æ»s¥N½X
ª`·N¡A³o¸Ìªºvariable_name¤£¬OÅܶq­È¡A¦Ó¬OÅܶq¦W¡A¥i¥H¥ý«ü©wÅܶq¦W¡AÀH«á¦A½á­È¡C§A¦b¬Y
­Ó­¶­±¤¤¥i¥H§ïÅÜÅܶqªº­È¡AÀH«áªº­¶­±³X°Ý¸ÓÅܶq®É  
·|±o¨ì§ïÅܫ᪺­È¡CÅܶqªºÃþ«¬¬O¦h¼Ëªº¡A¥i¥H¬O¤@­Ó¦r¦ê¡A¤@­Ó¼Æ¦r¡A¤@­Ó¼Æ²Õ¡CÁ|¨Ò¨Ó»¡
©ú¡G  
²Ä¤@­¶:
  1. <?php  
  2. page_open(array("sess" => "Example_Session"));  
  3. $sess->register( "first"); //ª`·NÅܶq¦W«e¤£»Ý­n¥$$  
  4. if (iset($firstname)) {  
  5. $first = $firstname;  
  6. }  
  7. .....  
  8. page_close();  
  9. ?>  
½Æ»s¥N½X
²Ä¤G­¶:
  1. <?php  
  2. page_open();//¶}©lsession  
  3. echo $first;//¬Ý¬Ý®ÄªG  
  4. page_close();//«O¦sª¬ºA«H®§  
  5. ?>  
½Æ»s¥N½X
µù¥U§¹¤@­ÓÅܶq¡A·í­¶­±³Ì«á½Õ¥Îpage_close()¨ç¼Æ«á¡A¦U­ÓsessionÅܶq·|³Q¼g¦^¨ì¼Æ¾Ú®w¤¤¡C
¦pªG§A§Ñ°O½Õ¥Îpage_close()¨ç¼Æªº¸Ü¡A  
Åܶq´N¤£·|³Q¼g¦^¼Æ¾Ú®w¡A±N¥X²{¤£¥i¹wª¾ªº«áªG¡C·íÅܶq³Q¨Ï¥Î§¹²¦¡A§A¤£¦A»Ý­n¥Î¨ì®É¡A¥i
¥H½Õ¥Î¥H¤U¨ç¼Æ±NÅܶq§R°£¡G
  1. <?php  
  2. page_open(array("sess" => "Example_Session"));  
  3. ...  
  4. $sess->unregister( "variable_name");  
  5. ...  
  6. page_close();  
  7. ?>  
½Æ»s¥N½X
PHPLIB 7.0¤¤¡A¨Ï¥Î¤F¤@ºØ¦sÀxµ²ºc¡A¥¦¤¹³§A¦sÀxsession¼Æ¾Ú¨ì¼Æ¾Ú®w¤¤¡B¦@¨É¤º¦s¤¤©ÎªÌ
LDAP¤¤¡CPHPLIB¨Ï¥Î¤F¼Æ¾Ú®wÃþ¡A³o¨Ï±o§A¦³  
¤F§ó¦hªº¿ï¾Ü,§A¥i¥H¿ï¥Îoracle8,mysql,postgresqlµ¥µ¥¼Æ¾Ú®w¨Ó«O¦sª¬ºA«H®§¡C  

Ãö©óphplib¤¤ªº¨ä¥¦¥¯à¥H¤Î¦³Ãösessionªº¨ä¥¦¨ç¼Æªº¨Ï¥Î¡A§A¥i¥H°Ñ¬Ý¥¦±aªº¤â¥U,©Î¤W¥¦ªº
ºô¯¸¬Ý¦b½u¤åÀÉ¡C¥¦ªº¦Ñ®a¦b  
http://phplib.netuse.de/index.php3 ¡C  
php4ªºsession¹ê²{¤j³£±qphplib¾Ç¨Óªº¡A¥¦¤]¾acookies«O¦ssession id,¥Î¤å¥ó¨t²Î«O¦sÅܶq
(Àq»{±¡ªp¤U)¡C¦]¦¹¡A¥¦ªºsession  
Åܶq¤£¯à«O¦s¹ï¹³(¨Æ¹ê¤W¯à«O¦s¹ï¹³¤º®e¡A¦ý¨S¦³·N¸q¡A¦]¬°¥¦¬O«O¦s¦bºÏ½L¤Wªº¡A¤£¬O¬¡ªº¹ï
¶H¡A¥R¨ä¶q¤]´N¬O¹ï¹³«ÍÅé¡C)¤£¹L³oÂIªº­­¨î¤£¬O¤Ó  
¤j¡A§Ú­Ì¦b¤j³¡¤À±¡ªp¤U³£¥u»Ý­n«O¦sÅܶq´N¦æ¤F¡C·íµM§A¤]¥i¥H±Nsession«O¦s¦b¼Æ¾Ú®w¤¤,¤U
¤@¤p¸`¤¤§Ú­Ì·|Á¿¨ì«ç¼Ë±Nsession«O¦s¦b¼Æ¾Ú®w¤¤¡C  
¦bphp4¤¤¥Ñ©ó¤ñphp3¦h¤Fsession¤ä«ù¡A©Ò¥H¦bphp.ini¤å¥ó¤¤¤]¦h¤Fsession°t¸m¿ï¶µ¡C¤U­±§Ú­Ì
¨Ó¬Ý¬Ý¦U¶µªº§@¥Î»P·N¸q:
  1. $Session]  
  2. session.save_handler = files&#59; handler used to store/retrieve data(¥Î¤°»ò«O¦ssession
  3. Åܶq,Àq»{±¡ªp¤U¥Î¤å¥ó)  
  4. session.save_path = c&#58;/temp&#59; argument passed to save_handler(«O¦ssessionÅܶqªº¥Ø¿ý¡A
  5. ¦blinux/unix¤U¬°/tmp,¦bwin¤U³]¬°§Aªº¥Ø¿ý)  &#59; in the case of files, this is the  &#59; path where data files are stored  
  6. session.use_cookies = 1&#59; whether to use cookies(¬O§_¨Ï¥Îcookies,·íµM¡A¦bwin¤U§OµL¿ï
  7. ¾Ü)  
  8. session.name = PHPSESSID  &#59; name of the session(Àq»{session¨Ï¥Îªºcookies¦W,«ØÄ³¤£­n§ï°Ê)  &#59; is used as cookie name  
  9. session.auto_start = 0&#59; initialize session on request startup(¬O§_¦Û°Ê±Ò¥Îsession,·í
  10. ¬°1®É¡A¦b¨C­¶¤¤´N¥i¥H¤£¥²½Õ¥Îsession_start()¨ç¼Æ¤F)  
  11. session.cookie_lifetime = 0&#59; lifetime in seconds of cookie(³]©w cookie °e¨ìÂsÄý¾¹«á
  12. ªº«O¦s®É¶¡¡A³æ¦ì¬°¬í¡C¯Ê¬Ù­È¬° 0¡Aªí¥Üª½¨ìÂsÄý¾¹Ãö³¬¡C)  &#59; or if 0, until browser is restarted  
  13. session.cookie_path = /&#59; the path the cookie is valid for(cookie)(cookies¦³®Ä¸ô®|)  
  14. session.cookie_domain =&#59; the domain the cookie is valid for(cookies¦³®Ä°ì¦W)  
  15. session.serialize_handler = php&#59; handler used to serialize data(©w¸q§Ç¦C¤Æ¼Æ¾Úªº¼Ð
  16. ÃÑ¡A¥»¥¯à¥u¦³ WDDX ¼Ò¶ô©Î PHP ¤º³¡¨Ï¥Î¡C¯Ê¬Ù­È¬° php)  &#59; php is the standard serializer of PHP  
  17. session.gc_probability = 1&#59; percentual probability that the (³]©w¨C¦¸Á{®É¤å¥ó¶}©l³B
  18. ²z (gc, garbage collection) ³B²z·§²v¡C¯Ê¬Ù­È¬° 1¡C )  &#59; 'garbage collection' process is started  &#59; on every session initialization  
  19. session.gc_maxlifetime = 1440&#59; after this number of seconds, stored(³]©w«O¦ssession
  20. ªºÁ{®É¤å¥ó³Q²M°£«eªº¦s¬¡¬í¼Æ)  &#59; data will be seen as 'garbage' and  &#59; cleaned up by the gc process  
  21. session.referer_check =&#59; check HTTP Referer to invalidate (¨M©w°Ñ·Ó¨ì«È¤áºÝªº  
  22. Session ¥N½X¬O§_­n§R°£¡C¦³®É¦b¦w¥þ©Î¨ä¥¦¦Ò¼{®É¡A·|³]©w¤£§R°£¡C¯Ê¬Ù­È¬° 0¡C)  &#59; externally stored URLs containing ids  
  23. session.entropy_length = 0&#59; how many bytes to read from the file(³]©w session ±q°ªæi
  24. ­È¸ê·½Åª¨úªº¦ì¼Æ¡C¯Ê¬Ù­È¬° 0.)  
  25. session.entropy_file =&#59; specified here to create the session id(³]©w session ¥N½X«Ø
  26. ¥ß®É¡A¨Ï¥Î¥~³¡°ªæi­È¸ê·½©Î¤å¥ó¨Ó«Ø¥ß¡A¨Ò¦p UNIX ¨t²Î¤Wªº /dev/random  
  27. ©Î /dev/urandom¡C )  &#59; session.entropy_length = 16  &#59; session.entropy_file = /dev/urandom  
  28. session.cache_limiter = nocache&#59; set to { nocache,private,public } to (³]©wsession  
  29. ½w½Ä­­¨î)  &#59; determine HTTP caching aspects  
  30. session.cache_expire = 180&#59; document expires after n minutes(¤åÀɦ³®Ä´Á,³æ¦ì¬°¤ÀÄÁ)  
  31. ¦bwindows¥­¥x¤U¡Aphp4.01pl2¥H«eªºª©¥»·|¥X²{³]¸msession.save_path «á¥X¿ùªº±¡ªp¡A³o¬O
  32. phpªº¤@­Óbug,¦bphp4.01pl2¤Î¥H«á¤w¸g­×¥¿¤F¡C¦pªG§A¥Î¥H«eªºª©¥»¡A  
  33. §A¥i¥H±Nsession.save_path³]¬°"./",©Î³]¬°"/temp",¨Ã¦b§A©ñ¸mphp¸}¥»ªº·í«e½L®Ú¥Ø¿ý¤U«Ø¤@
  34. ­Ó¦W¬°tempªº¥Ø¿ý§Y¥i(§Úªºphp¸}¥»©ñ¦bd&#58;apachehtdocs¤U¡A«h§Ú¦bd&#58;½L®Ú¥Ø¿ý¤U«Ø¤@¦W¬°temp
  35. ªº¥Ø¿ý)¡C  
  36. ¦bphp4¤¤¦³Ãösessionªº¨ç¼Æ¥D­n¦³¥H¤U³o¨Ç¡G  
  37. session_start&#58; ªì©l¤Æsession,»Ý­n¥Îsessionªº¨C¤@­Ó­¶­±³Ì¶}©l³B½Õ¥Î¡C  
  38. session_destroy&#58; µ²§ô session,¦b»Ý­nµ²§ôsession³B½Õ¡C  
  39. session_name&#58; ¦s¨ú¥Ø«e session ¦WºÙ¡C  
  40. session_module_name&#58; ¦s¨ú¥Ø«e session ¼Ò¶ô¡C  
  41. session_save_path&#58; ¦s¨ú¥Ø«e session ¸ô®|¡C  
  42. session_id&#58; ¦s¨ú¥Ø«e session id¸¹¡C  
  43. session_register&#58; µù¥U·sªºsessionÅܶq¡C  
  44. session_unregister&#58; §R°£¤wµù¥UsessionÅܶq¡C  
  45. session_is_registered&#58; ÀˬdsessionÅܶq¬O§_µù¥U¡C  
  46. session_decode&#58; Session ¼Æ¾Ú¸Ñ½X¡C  
  47. session_encode&#58; Session ¼Æ¾Ú¥$±K¡C   
½Æ»s¥N½X
³q±`±¡ªp¤U§Ú­Ì¥u»Ý­n½Õ¥Î¤T­Ó¨ç¼Æ§Y¥i¡C  
§Ysesssion_start()¡Bsession_register()¡Bsession_is_registered()¡C  
¦b»Ý­n¥Î¨ìsessionªº¨C¤@­¶ªº³Ì¶}©l³B½Õ¥Îsession_start()¨ç¼Æ¡A  
¤@­Ó¨å«¬ªº¨Ï¥Îsessionªº­¶­±¦p¤U¡G
  1. <?session_start()?>  
  2. <html>  
  3. ....  
  4. <body>  
  5. <?  
  6. $var="hello";  
  7. session_register("var");//µù¥U$varÅܶq¡Aª`·N¨S¦³$²Å¸¹  
  8. if(session_is_registered("var"))//ÀˬdÅܶq¬O§_µù¥U  
  9. echo "haha,µù¥U¤F!";  
  10. else  
  11. echo "sorry,ÁÙ¨S¦³µù¥U!";  
  12. ?>  
  13. </body>  
  14. </html>
½Æ»s¥N½X
php4¤¤session³B²zªº©w¨î  

§Ú­Ì»Ý­nÂX¥R6­Ó¨ç¼Æ¡A·íµM³o¨Ç¨ç¼Æ¤£»Ý§A¥h½Õ¥Î¡A¹ï§Ú­Ì¨Ó»¡¬O³z©úªº¡C  

³o´X­Ó¨ç¼Æ¬O:  
sess_open($sess_path, $session_name);  

³o­Ó¨ç¼Æ³Qsession³B²zµ{§Ç½Õ¥Î¨Ó§@ªì©l¤Æ¤u§@¡C»Ý­n¶Çµ¹¥¦ªº¨â­Ó°Ñ¼Æ¬O$sess_path,¥¦¹ïÀ³
§Aªºphp.ini¤å¥ó¤¤ªºsession.save_path  
¿ï¶µ;$session_name,¥¦¹ïÀ³php.ini¤¤ªºsession.name ¿ï¶µ¡C¥¦­Ì¨ãÅé«ç¼Ë¤u§@,½Ð¬Ý¤U­±ªº¨Ò
¤l¡C  

sess_close();  

³o­Ó¨ç¼Æ¦b­¶­±µ²§ô°õ¦æ¨Ã¥Bsession³B²zµ{§Ç»Ý­nÃö³¬®É³Q½Õ¥Î¡C(ª`·N¡A¤£­n©Msess_destory
²V²c¤F,¥¦¬O¥Î¨Óµ²§ôsessionªº)  

sess_read($key);  

³o­Ó¨ç¼Æ¦bsession³B²zµ{§ÇŪ¨ú«ü©wsessionÁä­È($key)®É¡C  
³o­Ó¨ç¼ÆÀ˯Á¨Ãªð¦^¼ÐÃѬ°$keyªºsession¼Æ¾Ú.(ª`·N¡G§A¤£¥Î¾á¤ß«ç¼Ë§Ç¦C¤Æ©M¤Ï§Ç¦C¤Æ¼Æ¾Ú,
¦pªG§A¤£ª¾¹D³o¬O¤°»ò·N«ä¡A¤£­n¾á¤ß¥¦)  

ĶªÌµù¡G§Ç¦C¤Æ¬O±NÅܶq©Î¹ï¹³¦bµ{§Çµ²§ô©Î»Ý­n®É«O¦s¦b¤å¥ó¤¤¡A¦b¤U¦¸µ{§Ç¹B¦æ©Î»Ý­n®É¦A
½Õ¤J¤º¦sªº§Þ³N,¦³§O©ó¥u«O¦s¼Æ¾Úªº¤èªk¡C  

sess_write($key, $val);  

³o­Ó¨ç¼Æ¾Ú¦bsession³B²zµ{§Ç»Ý­n±N¼Æ¾Ú«O¦s®É½Õ¥Î,³oºØ±¡ªp¸g±`¦b§Aªºµ{§Çµ²§ô®Éµo¥Í¡C  
¥¦­t³d±N¼Æ¾Ú«O¦s¦b¤U¦¸¯à¥Îsess_read($key)¨ç¼ÆÀ˯Áªº¦a¤è¡C  

sess_destroy($key);  

³o­Ó¨ç¼Æ¦b»Ý­n®ø·´session®É¡C¥¦­t³d§R°£session¨Ã¥B²M°£Àô¹Ò¡C  


sess_gc($maxlifetime);  
³o­Ó¨ç¼Æ­t³d²M²z¸H¤ù¡C¦b³oºØ±¡ªp¤U¡A¥¦­t³d§R°£¹L®Éªºsession¼Æ¾Ú¡Csession³B²zµ{§Ç·|°¸
º¸½Õ¥Î¥¦­Ì¡C  

²{¦b§Ú­Ì¤w¸g²M·¡¤F§Ú­Ì´£¨Ñªº¨ç¼Æ¡C  

©w»sµ{§Ç¥i¥H¥Îmysql¼Æ¾Ú®w©ÎDBM¤å¥ó«O¦ssession¼Æ¾Ú¡C¨ú¨M©ó§Aªº»Ý­n¡C  
¦pªG§A¨M©w¨Ï¥Îmysql§@¤ä«ù¡A¨º»Ý­n§@¥H¤U¤u§@:  

­º¥ý§Ú­Ì¦bmysql¤¤³Ð«Ø¤@­Ósessions¼Æ¾Ú®w¡A¨Ã¥B³Ð«Ø¤@­Ósessionsªí¡C¥ý¹B¦æ§Aªºmysql«È¤á
ºÝ¨Ã¥B°õ¦æ¤U­±ªº©R¥O¡G  
mysql> CREATE DATABASE sessions;  

mysql> GRANT select, insert, update, dele ON sessions.* TO phpsession@localhost  
-> IDENTIFIED BY 'phpsession';  

mysql> CREATE TABLE sessions (  
-> sesskey char(32) not null,  
-> expiry int(11) unsigned not null,  
-> value text not null,  
-> PRIMARY KEY (sesskey)  
-> );  

¤U¤@¨B,­×§ïsession_mysql.php¤å¥óªº$SESS_DB* Åܶq¨Ï¨ä¤Ç°t§A¾÷¾¹¤Wªº¼Æ¾Ú®w³]¸m¡C  

(«Ü©êºp¡A¥Ñ©óª©Åv­ì¦]¡A§Ú¤£¯à§â¥H¤U¥N½X¤¤ªº­^¤å¥h±¼¡A¥u¦n¥[¨ÇµùÄÀ¤F  
=============================================================
  1. <?  
  2. /* ------------------------------------------------------------------------  
  3. * session_mysql.php  
  4. * ------------------------------------------------------------------------  
  5. * PHP4 MySQL Session Handler  
  6. * Version 1.00  
  7. * by Ying Zhang (ying@zippydesign.com)  
  8. * Last Modified&#58; May 21 2000  
  9. *  
  10. * ------------------------------------------------------------------------  
  11. * TERMS OF USAGE&#58;  
  12. * ------------------------------------------------------------------------  
  13. * You are free to use this library in any way you want, no warranties are  
  14. * expressed or implied. This works for me, but I don't guarantee that it  
  15. * works for you, USE AT YOUR OWN RISK.  
  16. *  
  17. * While not required to do so, I would appreciate it if you would retain  
  18. * this header information. If you make any modifications or improvements,  
  19. * please send them via email to Ying Zhang <ying@zippydesign.com>.  
  20. *  
  21. * ------------------------------------------------------------------------  
  22. * DESCRIPTION&#58;  
  23. * ------------------------------------------------------------------------  
  24. * This library tells the PHP4 session handler to write to a MySQL database  
  25. * instead of creating individual files for each session.  
  26. *  
  27. * Create a new database in MySQL called "sessions" like so&#58;  
  28. *  
  29. * CREATE TABLE sessions (  
  30. * sesskey char(32) not null,  
  31. * expiry int(11) unsigned not null,  
  32. * value text not null,  
  33. * PRIMARY KEY (sesskey)  
  34. * );  
  35. *  
  36. * ------------------------------------------------------------------------  
  37. * INSTALLATION&#58;  
  38. * ------------------------------------------------------------------------  
  39. * Make sure you have MySQL support compiled into PHP4. Then copy this  
  40. * script to a directory that is accessible by the rest of your PHP  
  41. * scripts.  
  42. *½T«H§Aªºphp4¦³mysql¤ä«ù¡AµM«á§â³o­Ó¸}¥»«þ¨©¨ì©M§Aªºphp¸}¥»¦³Ãöªº¥Ø¿ý¡C  
  43. * ------------------------------------------------------------------------  
  44. * USAGE&#58;¡]¨Ï¥Î¤èªk¡^  
  45. * ------------------------------------------------------------------------  
  46. * Include this file in your scripts before you call session_start(), you  
  47. * don't have to do anything special after that.  
  48. *¥]§t³o­Ó¤å¥ó¨ì§A­n¨Ï¥Îsessionªº¤å¥ó¤¤¡A¥²¶·¦b½Õ¥Îsession_start()¤§«e¡A§_«h,  
  49. *·|«ÜºGªº¡A¤£­n©Ç§Ú¨S§i¶D§A¡C ³o¼Ë´N¤£»Ý­n¦A°µ¤°»ò¤u§@¤F,ÁÙ©M§A¥H«e¥Îsessionªº¤èªk¤@
  50. ¼Ë¡C  
  51. */  
  52. $SESS_DBHOST = "localhost"; /* database server hostname */  
  53. $SESS_DBNAME = "sessions"; /* database name */  
  54. $SESS_DBUSER = "phpsession"; /* database user */  
  55. $SESS_DBPASS = "phpsession"; /* database password */  
  56. $SESS_DBH = "";  
  57. $SESS_LIFE = get_cfg_var("session.gc_maxlifetime");  
  58. function sess_open($save_path, $session_name) {  
  59. global $SESS_DBHOST, $SESS_DBNAME, $SESS_DBUSER, $SESS_DBPASS, $SESS_DBH;  
  60. if (! $SESS_DBH = mysql_pconnect($SESS_DBHOST, $SESS_DBUSER, $SESS_DBPASS)) {  
  61. echo "<li>Can't connect to $SESS_DBHOST as $SESS_DBUSER";  
  62. echo "<li>MySQL Error&#58; ", mysql_error();  
  63. die;  
  64. }  
  65. if (! mysql_select_db($SESS_DBNAME, $SESS_DBH)) {  
  66. echo "<li>Unable to select database $SESS_DBNAME";  
  67. die;  
  68. }  
  69. return true;  
  70. }  
  71. function sess_close() {  
  72. return true;  
  73. }  
  74. function sess_read($key) {  
  75. global $SESS_DBH, $SESS_LIFE;  
  76. $qry = "SELECT value FROM sessions WHERE sesskey = '$key' AND expiry > " . time();  
  77. $qid = mysql_query($qry, $SESS_DBH);  
  78. if (list($value) = mysql_fetch_row($qid)) {  
  79. return $value;  
  80. }  
  81. return false;  
  82. }  
  83. function sess_write($key, $val) {  
  84. global $SESS_DBH, $SESS_LIFE;  
  85. $expiry = time() + $SESS_LIFE;  
  86. $value = addslashes($val);  
  87. $qry = "INSERT INTO sessions VALUES ('$key', $expiry, '$value')";  
  88. $qid = mysql_query($qry, $SESS_DBH);  
  89. if (! $qid) {  
  90. $qry = "UPDATE sessions SET expiry = $expiry, value = '$value' WHERE sesskey  
  91. = '$key' AND expiry > " . time();  
  92. $qid = mysql_query($qry, $SESS_DBH);  
  93. }  
  94. return $qid;  
  95. }  
  96. function sess_destroy($key) {  
  97. global $SESS_DBH;  
  98. $qry = "DELETE FROM sessions WHERE sesskey = '$key'";  
  99. $qid = mysql_query($qry, $SESS_DBH);  
  100. return $qid;  
  101. }  
  102. function sess_gc($maxlifetime) {  
  103. global $SESS_DBH;  
  104. $qry = "DELETE FROM sessions WHERE expiry < " . time();  
  105. $qid = mysql_query($qry, $SESS_DBH);  
  106. return mysql_affected_rows($SESS_DBH);  
  107. }  
  108. session_set_save_handler(  
  109. "sess_open",  
  110. "sess_close",  
  111. "sess_read",  
  112. "sess_write",  
  113. "sess_destroy",  
  114. "sess_gc");  
  115. ?>  
½Æ»s¥N½X
=================================================================  
©w¨î¨Ï¥Îdbm¤å¥ó®Éªº±µ¤f  
=================================================================
  1. <?  
  2. /* ------------------------------------------------------------------------  
  3. * session_dbm.php  
  4. * ------------------------------------------------------------------------  
  5. * PHP4 DBM Session Handler  
  6. * Version 1.00  
  7. * by Ying Zhang (ying@zippydesign.com)  
  8. * Last Modified&#58; May 21 2000  
  9. *  
  10. * ------------------------------------------------------------------------  
  11. * TERMS OF USAGE&#58;  
  12. * ------------------------------------------------------------------------  
  13. * You are free to use this library in any way you want, no warranties are  
  14. * expressed or implied. This works for me, but I don't guarantee that it  
  15. * works for you, USE AT YOUR OWN RISK.  
  16. *  
  17. * While not required to do so, I would appreciate it if you would retain  
  18. * this header information. If you make any modifications or improvements,  
  19. * please send them via email to Ying Zhang <ying@zippydesign.com>.  
  20. *  
  21. * ------------------------------------------------------------------------  
  22. * DESCRIPTION&#58;  
  23. * ------------------------------------------------------------------------  
  24. * This library tells the PHP4 session handler to write to a DBM file  
  25. * instead of creating individual files for each session.  
  26. *  
  27. * ------------------------------------------------------------------------  
  28. * INSTALLATION&#58;  
  29. * ------------------------------------------------------------------------  
  30. * Make sure you have DBM support compiled into PHP4. Then copy this  
  31. * script to a directory that is accessible by the rest of your PHP  
  32. * scripts.  
  33. *½T«H§Aªºphp4¦³DBM¤ä«ù¡C«þ¨©³o­Ó¤å¥ó¦b§Aªºphp¸}¥»¥Ø¿ý¡C  
  34. * ------------------------------------------------------------------------  
  35. * USAGE&#58;  
  36. * ------------------------------------------------------------------------  
  37. * Include this file in your scripts before you call session_start(), you  
  38. * don't have to do anything special after that.  
  39. * ¦b½Õ¥Îsession_start()¤§«e½Ð¥]§t³o­Ó¤å¥ó¡C¤§«á´N¤£»Ý­n§@¤°»ò¤u§@¤F¡C  
  40. */  
  41. $SESS_DBM = "";  
  42. $SESS_LIFE = get_cfg_var("session.gc_maxlifetime");  
  43. function sess_open($save_path, $session_name) {  
  44. global $SESS_DBM;  
  45. $SESS_DBM = dbmopen("$save_path/$session_name", "c");  
  46. return ($SESS_DBM);  
  47. }  
  48. function sess_close() {  
  49. global $SESS_DBM;  
  50. dbmclose($SESS_DBM);  
  51. return true;  
  52. }  
  53. function sess_read($key) {  
  54. global $SESS_DBM, $SESS_LIFE;  
  55. $var = "";  
  56. if ($tmp = dbmfetch($SESS_DBM, $key)) {  
  57. $expires_at = substr($tmp, 0, strpos($tmp, "¢x"));  
  58. if ($expires_at > time()) {  
  59. $var = substr($tmp, strpos($tmp, "¢x") + 1);  
  60. }  
  61. }  
  62. return $var;  
  63. }  
  64. function sess_write($key, $val) {  
  65. global $SESS_DBM, $SESS_LIFE;  
  66. dbmreplace($SESS_DBM, $key, time() + $SESS_LIFE . "¢x" . $val);  
  67. return true;  
  68. }  
  69. function sess_destroy($key) {  
  70. global $SESS_DBM;  
  71. dbmdele($SESS_DBM, $key);  
  72. return true;  
  73. }  
  74. function sess_gc($maxlifetime) {  
  75. global $SESS_DBM;  
  76. $now = time();  
  77. $key = dbmfirstkey($SESS_DBM);  
  78. while ($key) {  
  79. if ($tmp = dbmfetch($SESS_DBM, $key)) {  
  80. $expires_at = substr($tmp, 0, strpos($tmp, "¢x"));  
  81. if ($now > $expires_at) {  
  82. sess_destroy($key);  
  83. }  
  84. }  
  85. $key = dbmnextkey($SESS_DBM, $key);  
  86. }  
  87. }  
  88. session_set_save_handler(  
  89. "sess_open",  
  90. "sess_close",  
  91. "sess_read",  
  92. "sess_write",  
  93. "sess_destroy",  
  94. "sess_gc");  
  95. ?>
½Æ»s¥N½X
=================================================================  
¨ãÅé«ç»ò¥Î´N¤£¥Î¦h»¡¤F¡A¦]¬°³o¨Ç¨ç¼Æ³£¬Ophp¤ÞÀº½Õ¥Îªº¡A»P§Ú­ÌµLÃöªº¡C§Ú­Ì¥u»Ý·Ó¤W­z°t
¸m«á´N¦æ¤F¡A§A¥ÎªºÁÙ¬O¥H«eªºsession¨ç¼Æ¡C  
¬Ý¬Ý¤U­±ªº¥N½X´Nª¾¹D¤F¡G¡^  


session©w¨îªº´ú¸Õ¥N½X  
==================================================================
  1. <?  
  2. /* ------------------------------------------------------------------------  
  3. * test.php  
  4. * ------------------------------------------------------------------------  
  5. * PHP4 Customer Session Handler Test Script  
  6. * Version 1.00  
  7. * by Ying Zhang (ying@zippydesign.com)  
  8. * Last Modified&#58; May 21 2000  
  9. */  
  10. /* default to DBM handler */  
  11. if (! isset($handler)) {  
  12. $handler = "dbm";  
  13. }  
  14. /* default action is increment */  
  15. if (! isset($action)) {  
  16. $action = "increment";  
  17. }  
  18. /* load up the appropriate session handling script, depending on the handler */  
  19. if ($handler == "dbm") {  
  20. include("session_dbm.php");  
  21. } elseif ($handler == "mysql") {  
  22. include("session_mysql.php");  
  23. } else {  
  24. echo "<li>Unrecognized handler ($handler)";  
  25. die;  
  26. }  
  27. /* start the session and register a simple counter */  
  28. session_start();  
  29. session_register("count");  
  30. /* figure out what we should do, depending on the action */  
  31. switch ($action) {  
  32. case "increment" &#58;  
  33. $count = isset($count) ? $count + 1 &#58; 0;  
  34. break;  
  35. case "destroy" &#58;  
  36. session_destroy();  
  37. break;  
  38. case "gc" &#58;  
  39. $maxlife = get_cfg_var("session.gc_maxlifetime");  
  40. sess_gc($maxlife);  
  41. break;  
  42. default&#58;  
  43. echo "<li>Unknown action ($action)";  
  44. break;  
  45. }  
  46. ?>  
  47. <h1>Session Test Script</h1>  
  48. <ul>  
  49. <li>Handler&#58; <b><?=$handler?></b>  
  50. <li>Action&#58; <b><?=$action?></b>  
  51. <li>Count&#58; <b><?=$count?></b>  
  52. </ul>  
  53. <hr size=1>  
  54. <form>  
  55. <table>  
  56. <tr>  
  57. <td>Handler&#58;</td>  
  58. <td>  
  59. <select name="handler">  
  60. <option value="dbm">DBM</option>  
  61. <option value="mysql">MySQL</option>  
  62. </select>  
  63. </td>  
  64. </tr>  
  65. <tr>  
  66. <td>Action&#58;</td>  
  67. <td>  
  68. <select name="action">  
  69. <option value="increment">Increment</option>  
  70. <option value="destroy">Session Destroy</option>  
  71. <option value="gc">Force Garbage Collection</option>  
  72. </select>  
  73. </td>  
  74. </tr>  
  75. <tr>  
  76. <td></td>  
  77. <td><br><input type="submit"></td>  
  78. </tr>  
  79. </table>  
  80. </form>  
½Æ»s¥N½X
Áµ´°Ý¹q¸£µ{¦¡³]­pµ¥§Þ³N©Ê¬ÛÃö°ÝÃD.
(¤×¨ä¬O¤W¯Z®É¶¡) ¤@«ß«ÊÂê§R°£msn¦W³æ.
½Ð´L­«§O¤H¤Î¦Û¤v­Y±z¥[¤JMSN¥u¬O·Q°Ý¸ò¹q¸£¬ÛÃö°ÝÃD.
½Ð±z¨ì ½×¾Â¤Wµo°Ý¥H¸`¬Ù¤j®aªº®É¶¡.
MSN : fiend@ecstart.com

Âà¶K-session§¹¾ã±Ð¾Ç!!

session¥þ±Ðµ{(¤T)
--------------------------------------------------------------------------------

  
¤T¡BsessionÀ³¥ÎÁ|¨Ò  

¥H¤U³o¨Ç¨Ò¤l¤ùÂ_¶È¨Ñ°Ñ¦Ò,§A¥i¥H©w¨î¤]¥i¥H¤£©w¨îsession,ÀH§A«K  
(1)¥Î©ó¥Î¤á»{ÃÒ  
<?  
session_start();  
$dbh = mysql_connect(&quot;localhost:3306&quot;,&quot;xxxx&quot;,&quot;xxxx&quot;);  
mysql_select_db(&quot;znsoft&quot;);//¿ï¾Ü¼Æ¾Ú®w  
$query=&quot;select userid from reguser where userid='$userid' and pass='$pass' &quot;;  
//$userid $pass ¬Oµn¿ýform¶Ç»¼¹L¨Óªº¥Î¤á¦W©M±K½X  
$res=mysql_query($query,$dbh);  
if($row=mysql_fetch($res))  
{  
$reguser=$row[0];  
?>  
<script>  
alert(&quot;ok,­ô­Ì¡AÅwªï§A!&quot;);  
</script>  
<?  
}  
else  
{  
$reguser=&quot;&quot;;  
?>  
<script>  
alert(&quot;sorry,§A¤£¬Oµù¥U¥Î¤á!&quot;);  
</script>  
<?  

..............//§A¦Û¤v©ñ¤W¥N½X§a  
}  
session_register(&quot;reguser&quot;);  
?>  
¥t¤@­¶­±¤¤Àˬd¬O§_¤w¸gµn¿ý  
================  
<?  
session_start();  

if(isset($reguser)&&$reguser!=&quot;&quot;)//¤w¸gµn¿ý  
{  
echo &quot;Åwªï§A,­ô­Ì&quot;;  
}  
else//¨S¦³µn¿ý§r  
echo &quot;½Ðµù¥U§a&quot;;  
?>  
°h¥X¥¯à  
===============================  
<?  
session_destroy();  
//©Î $reguser=&quot;&quot;;  
?>  

(2)¥Î©ó¶Ç»¼Åܶq  

¥»µ{§Ç¥Î©ó¦b­¶­±¤§¶¡¶Ç»¼Åܶq  
<?  
$name=&quot;m.y&quot;;  
if(!sesion_is_registered(&quot;name&quot;))//¨S¦³µù¥UsessionÅܶq name  
session_register(&quot;name&quot;);//µù¥U Åܶq name  
?>  
²Ä¤G­¶  
===================  
<?  
echo $name;  

//¤£·Q¥Î¤F¡A§R±¼§a  
if(session_is_registered(&quot;name&quot;))//¬O§_µù¥U¡A¦pªG¤w¸gµù¥U  
session_unregister(&quot;name&quot;);//·íµM§R±¼°Õ  
?>


<¥þ¤å§¹>

                    
Áµ´°Ý¹q¸£µ{¦¡³]­pµ¥§Þ³N©Ê¬ÛÃö°ÝÃD.
(¤×¨ä¬O¤W¯Z®É¶¡) ¤@«ß«ÊÂê§R°£msn¦W³æ.
½Ð´L­«§O¤H¤Î¦Û¤v­Y±z¥[¤JMSN¥u¬O·Q°Ý¸ò¹q¸£¬ÛÃö°ÝÃD.
½Ð±z¨ì ½×¾Â¤Wµo°Ý¥H¸`¬Ù¤j®aªº®É¶¡.
MSN : fiend@ecstart.com

Âà¶K-session§¹¾ã±Ð¾Ç!!

·PÁ¤À¨É                    

Âà¶K-session§¹¾ã±Ð¾Ç!!

·PÁ FIEND ¤j¤j´£¨Ñ³o»ò²M·¡ªº±Ð¾Ç¤å¥ó!

¤£ª¾¬O§_¦³ SMARTY ªº±Ð¾Ç»P½d¨Ò?
³Ìªñ¦³¦b¬Ý³o¤è­±ªº¸ê®Æ!
¦ü¥G³Q¥Î¦bXOOPS ¤W­±!
¤£ª¾¬O§_ÁÙ¦³¨ä¥¦¹B¥Îªº¨Ò¤l?
¨Ò¦p¡G­º­¶¡BPortal¤§Ãþªº½d¨Ò??
ÁÂÁ±z!!                    

Âà¶K-session§¹¾ã±Ð¾Ç!!

·PÁ¤j¤j¸gÅç¤À¨É!!
¹ï©óªì½ñ¦¹°ì
­¿·P§U¤O                    

Âà¶K-session§¹¾ã±Ð¾Ç!!

;)¤S¬O¤j¤j¤ß¦åªººëµØ,·PÁ±zªº¤À¨É                    

Âà¶K-session§¹¾ã±Ð¾Ç!!

¤£¿ù³á¡A¯uªº«Ü¦nªº±Ð¾Ç~~~
¤S¾Ç¨ì¤F³á¡AÁÂÁ¤F£«~~~                    

Âà¶K-session§¹¾ã±Ð¾Ç!!

¤Ó·PÁ¤F
cookie©Msession ³£­n¾Ç¦p¦ó¥h¨Ï¥Î
¸Ô²Ó±Ð¾ÇÅý§Ú¾Ç²ß§ó§Ö¤F¸Ñ                    

Âà¶K-session§¹¾ã±Ð¾Ç!!

½Ð°Ý¤@¤Uµù¥U°}¦C¥i¥H¼g¦¨³o¼Ë¤l¶Ü?
//$reguser=$row[];

session_register(&quot;row[]&quot;);

Âà¶K-session§¹¾ã±Ð¾Ç!!

¬Ý¤@¤U§A¦Û¤vªº¹Ï¥Ü¡A¯u²Å¦X§Ú²Ä¤@²´¬Ý¨ì³oºØµ{¦¡¼gªkªº·Pı...

·íµM¤£¬O¯º§A¡A¦Ó¬Oı±o¦³¨Ç¤w¸g¤£¦X®É¥N¼é¬yªº¼gªk³ºµMÁÙ¦s¬¡µÛ¡A¦Ó¥B¼vÅT¤F³\¦hªì¾ÇªÌ¡C

¨¥Âk¥¿¶Ç¡G

§ï¥Î $_SESSION ¨Ó¾Þ§@§a¡A´N¹³¨Ï¥Î°}¦C¤@¼Ë (¦]¬°¥¦¥»¨­´N¬O°}¦C)
§A¥u­n¦b»Ý­n Session ªº­¶­±³»ºÝ¥[¤W¤@¦æ session_start(); ´N¯à¥Î¤F¡C
  1. $_SESSION$&#39;my_array&#39;] = array(&#39;item1&#39;, &#39;item2&#39;, &#39;item3&#39;);
  2. $my_array = $_SESSION$&#39;my_array&#39;]; // ª`·N¡G³o¸Ìªº $my_array ¤£¨ã Session ¥\¯à
  3. print_r($my_array);
½Æ»s¥N½X
¸Ô²Ó¥Îªk½Ð°Ñ¦Ò©x¤è¤â¥U¡C

Âà¶K-session§¹¾ã±Ð¾Ç!!

Ãö©ósessionªº´X­Ó¸É¥R¨ç¼Æ
--------------------------------------------------------------------------------


¦bPHP¤U¡AÃö©ósessionªº°Q½×«Ü¦h¡A¨ä¹ê¦bPHP4¤¤ÁÙ¦³´X­Ó¨ç¼Æ¬O§Ú­Ì¥­®É¨S¦³ª`·N¨ìªº¡C

¤U­±§Ú§â¥¦­Ì¤¶²Ðµ¹¤j®a§a¡C

¨ä¤¤ªºsession_set_save_handler()¥i¯u¬O­Ó¦nªF¦è¡C

//********************
session_unset (PHP4 >= 4.0b4)

void session_unset(void);

³o­Ó¨ç¼Æ¥i¥H§â·íµMµù¥Uªº©Ò¦³ªºsessionÅܶq¸m¬°ªÅ¡Cª`·N¥¦¤£¬Ounregister¡A¤]¤£¦P©ódestroy¡C

¤U­±³o­Ó¨Ò¤l¡A¹ï¦¹¨ç¼Æ°µ¤F«Ü¦nªº»¡©ú¡C

<?php

session_register('a','b','c'); //auto-session-start
$a=1;
$b=2;
$c=3;
session_unregister('a'); //unregistrered $a
echo "A: $a - reg:".session_is_registered('a')."
"; // but the global $a remains
session_unset(); // unsets $b und $c
echo "B:$b - reg:".session_is_registered('b')."
"; // the registration remains !
echo "C:$c - reg:".session_is_registered('c')."
";
echo session_encode();
?>

¿é¥X¡G
A: 1 - reg:
B: - reg:1
C: - reg:1
!b|!c|

//********************************
session_get_cookie_params (PHP4 >= 4.0RC2)

array session_get_cookie_params (void);

ªð¦^¤@­Ó¼Æ²Õ¡A°O¿ý¤F·í«esessionªºcookieªº¤@¨Ç«H®§¡C
¦³¡G

"lifetime" - cookieªº¥Í¦s´Á¡C

"path" - cookieªº«O¦s¸ô®|¡C

"domain" - cookieªº°ì¡C

//*******************************
session_set_cookie_params (PHP4 >= 4.0b4)

void session_set_cookie_params (int lifetime [, string path [, string domain]])

³]¸msessionªºcookieªº¤@¨Ç°Ñ°Ñ¼Æ¡AÃþ¦ü©óphp.ini¤¤ªº³]¸m¡A¦ý¥»¨ç¼Æ©Ò§@ªº³]¸m¡A¥u¹ï·í«e¸}¥»¤å¥ó¦³®Ä¡C


//*******************************

¤U­±­n¤¶²Ðªº³o­Ó¨ç¼ÆÀ³¬O¹ï¤j®a³£«Ü¦³¥Îªº¡A§A¬O¤£¬O¹ï¦Û©w¸q¤@­Ó¤£¥Îcookie¨Ó«O¦sªºsession¦³¿³½ì©O¡H³o­Ó¨ç¼Æ´N¥i¥H¹ê²{§A³o¼Ëªº³]·Q¡C

Åý§Ú·Q·Q¡A¦pªG¤£¥Îcookieªº¦n³B¬O¤°»ò¡H¦Ü¤Ö¤@ÂI¡A§A¤£¥Î¾á¤ß«È¤áºÝªºªºcookieªº¥¯à¬O§_¥´¶}¤F¡A¹ï§a¡C


session_set_save_handler (PHP4 >= 4.0b4)

void session_set_save_handler (string open, string close, string read, string write, string destroy, string gc)

³o­Ó¨ç¼Æ¥i¥H©w¸q¥Î¤á¯Åªºsessionªº«O¦s¨ç¼Æ¡]¥´¶}¡BÃö³¬¡B¼g¤Jµ¥¡^¡C
¤ñ¦p¡A§Ú­Ì·Q§âsession«O¦s¦b¥»¦aªº¤@­Ó¼Æ¾Ú®w¤¤®É¡A¥»¨ç¼Æ´N«Ü¦³¥Î¤F¡C

¡I¡I¡Iª`·N¡G¨Ï¥Î¥»¨ç¼Æ«e¡A¥ý­n°t¸mphp.ini¤å¥ó¡Asession.save_hadler=user ¡A§_«h¡Asession_set_save_handler()¤£·|¥Í®Ä¡C

¦¹ ¥~¡A®Ú¾Ú§Úªº´ú¸Õ¡A§A¦pªG·QÅý³o¼Ëªºsession¸ó­¶­±¨Ï¥Î¡AÁÙ­n¦b¨C¤@­Ó¥Î¨ìsessionªº¸}¥»¤å¥ó¤¤¥[¤J§A¦Û©wªº¨ç¼Æ¤Î session_set_save_handler¡A©Ò¥H¡A³Ì¦nªº¤èªk¬O°µ¦¨¤@­Ó³æ¿Wªº¤å¥ó¡A¦b¨C¤@­Ó­n¥Î¨ìsessionªº¸}¥»¤¤¥Îinclude¨Ó¥] §t¶i¨Ó¡C

¤U­±³o­Ó¨Ò¤l´£¨Ñ¤F¤@­Ó³Ì°ò¥»ªºsession«O¦sªk¡AÃþ¦ü©óÀq»{ªºfiles¤èªk¡C
¦pªG§A·Q¥Î¼Æ¾Ú®w¨Ó¹ê²{¡A³o¤]¬O«Ü®e©ö°µ¨ìªº¡C

Example 1. session_set_save_handler() example

<?php

function open ($save_path, $session_name) {
global $sess_save_path, $sess_session_name;

$sess_save_path = $save_path;
$sess_session_name = $session_name;
return(true);
}

function close() {
return(true);
}

function read ($id) {
global $sess_save_path, $sess_session_name;

$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "r")) {
$sess_data = fread($fp, filesize($sess_file));
return($sess_data);
} else {
return("");
}

}

function write ($id, $sess_data) {
global $sess_save_path, $sess_session_name;

$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "w")) {
return(fwrite($fp, $sess_data));
} else {
return(false);
}

}

function destroy ($id) {
global $sess_save_path, $sess_session_name;

$sess_file = "$sess_save_path/sess_$id";
return(@unlink($sess_file));
}

/*********************************************
* WARNING - You will need to implement some *
* sort of garbage collection routine here. *
*********************************************/
function gc ($maxlifetime) {
return true;
}

session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");

session_start();

//¡@proceed to use sessions normally
//¡@²{¦b§A´N¥i¥H¹³©¹±`¤@¼Ë¦a¨Ï¥Îsession¤F¡C


?>


//***************************************

session_cache_limiter (PHP4 CVS only)

string session_cache_limiter ([string cache_limiter])

¥»¨ç¼Æ¥i¥H³]¸m©Î¨ú±osession.cache_limiterªº­È¡C
¦bphp.ini¤¤¤]¥i¥H°µ¦P¼Ëªº³]¸m¡C¨ä­È¦³ nocache,public,private¡C

¥»¨ç¼Æ¬O³q¹LHTTPªºheaderµo°e¨ì«È¤áºÝªº¡C¦pªG¬°nocache¡A±N¸T¤î¥ô¦ó«È¤áºÝªºcache¡C¦Ópublic±N¤¹³cache¡A¦ý¬Oprivate¬Û¹ïpublic¦Ó¨¥¡A§ó¬°¦w¥þ¤@ÂI¡C

¯Ê¬Ù­È¬O¦bphp.ini¤¤ªº³]¸m¡A¦pªG§A­n¨Ï¥Î¥¦¡A¥²¶·¦b¨C¦¸½Õ¥Îsession_start()¤§«e½Õ¥Î¥»¨ç¼Æ¡C

¦¹¨ç¼Æ²{¦b¥u¯à¦bCVS¼Ò¦¡¤U¹B¦æ¡A¦ý¬OPHP4.0.3±N¤ä«ù¥¦¡C


Example 1. session_cache_limiter() examples

<?php

# set the cache limiter to 'private'

session_cache_limiter('private);
$cache_limiter = session_cache_limiter();

echo "The cache limiter is now set to $cache_limiter<p>";
?>

//*****************************
Áµ´°Ý¹q¸£µ{¦¡³]­pµ¥§Þ³N©Ê¬ÛÃö°ÝÃD.
(¤×¨ä¬O¤W¯Z®É¶¡) ¤@«ß«ÊÂê§R°£msn¦W³æ.
½Ð´L­«§O¤H¤Î¦Û¤v­Y±z¥[¤JMSN¥u¬O·Q°Ý¸ò¹q¸£¬ÛÃö°ÝÃD.
½Ð±z¨ì ½×¾Â¤Wµo°Ý¥H¸`¬Ù¤j®aªº®É¶¡.
MSN : fiend@ecstart.com

Âà¶K-session§¹¾ã±Ð¾Ç!!

³o¯uªº¬O¤@­Ó«Ü°ò¥»ªºªF¦è­C..&#33;&#33;
¥»¨Ó³£¤£¤F¸Ñªº..
²{¦b¦³¨Ç³\ªº·§©À¤F&#33;&#33;~ ^_^

Âà¶K-session§¹¾ã±Ð¾Ç!!

¤T¡BsessionÀ³¥ÎÁ|¨Ò

¥H¤U³o¨Ç¨Ò¤l¤ùÂ_¶È¨Ñ°Ñ¦Ò,§A¥i¥H©w¨î¤]¥i¥H¤£©w¨îsession,ÀH§A«K
(1)¥Î©ó¥Î¤á»{ÃÒ
<?
session_start();
$dbh = mysql_connect(&quot;localhost:3306&quot;,&quot;xxxx&quot;,&quot;xxxx&quot;);
mysql_select_db(&quot;znsoft&quot;);//¿ï¾Ü¼Æ¾Ú®w
$query=&quot;select userid from reguser where userid=&#39;$userid&#39; and pass=&#39;$pass&#39; &quot;;
//$userid $pass ¬Oµn¿ýform¶Ç»¼¹L¨Óªº¥Î¤á¦W©M±K½X
$res=mysql_query($query,$dbh);
if($row=mysql_fetch($res))
....
...
..
..
½Ð°Ý¸ê®Æ®w­n«ç»ò³]©w?
´N¬O©ñ±b¸¹¸ò±K½Xªº¼Æ­È

¦p¦ó¨Ï¥Î¸ê®Æ®w¹ïÀ³sessionªºPHP?

¥Lªº&quot;[«¬ºA]&quot;¬O¿ï­þ¤@­Ó?

§Ú¿ï[Varchar]«¬ºA¹ï¶Ü?

¬°¦ó¦³¨Ç½×¾Â±b¸¹¥i¥H¥´¤¤¤å¡A¦³¨Ç´N¥u¯à¥´­^¤å?

§Ú·Q±q²³æ¶}©l
¥i§_°µ­Ó½d¨ÒÅý¤H¾Ç²ß
´N¬O±q¸ê®Æ®w³]©w¨ì°µ§¹PHP
2­Óµe­±
1­Ó¬Oµn¤J«á¤~¯à¬Ý¨ì¡A¥t¤@­Ó¬Oµn¤Jµe­±(¿é¤J±b±K)
´N¥u­n³o¼Ë

Âà¶K-session§¹¾ã±Ð¾Ç!!

session ¸ò¸ê®Æ®wÄæ¦ì¨S¤°»òÃö«Y
¬Ý¨Ó§AÁÙ¤£¤ÓÀ´ session ªº©w¸q
¦h¬Ý¨Ç¬Ý®Ñ§a..

Re: Âà¶K-session§¹¾ã±Ð¾Ç!!

¦n强§r¡A¡A¡A¡A§Q®`¡C¡C¡C谢谢

^^

ÁöµM¥»¨Ó´N¦³¤@ÂIªì²Lªº·§©À£¾

¬Ý¹L¥H«á£¾¹ïsession¦³§ó§¹¾ãªº·§©À¤F¡I¡I

 ÁÂÁ¤j¤j¤À¨É³o½g¤å³¹³á£¾

¢Ð£B²Â©åªº£¾±s

¦³¤@ÂI¤£©ú¥Õ ¦ý³£ÁÂÁ§A ^.^
ªð¦^¦Cªí