| ¹ã ¸æ λ Öà |
|
|
|
 |
| Õ¾ ÄÚ ËÑ Ë÷ |
|
|
|
 |
|
|
|
|
PHP ÖÐ session È«Ãæ½Ì³Ì
À´Ô´£ºLinux¼¼ÊõÖмáÕ¾ µÈ¼¶£ºÄ¬Èϵȼ¶
·¢²¼ÓÚ2005-05-28 18:06 ±»¶Á34515´Î ¡¾×ÖÌ壺´ó ÖРС¡¿
|
|
Ò»¡¢session¸ÅÊö sessionÊÇʲô£¬¸Õ¿ªÊ¼ÎÒÒ²²»Ã÷°×£¬·Çרҵ´Êµä·ÒëΪ»áÒ飬»áÒéÆÚ¡£Ö±µ½½Ó´¥aspºó²ÅÖªµÀsessionÊǸÉʲôµÄ£¬ÓÐʲôÓᣠ×÷¸ö²»Ì«Ç¡µ±µÄ±ÈÓ÷°É£¨ËäÈ»²»Ç¡µ±£¬µ«ÒâÒåÈ´ÊÇÒ»ÑùµÄ£©£¬session¾ÍºÃÏóÄãºÍÄãÅ®ÓÑ(»òÆÞ×Ó)Ö®¼äµÄ¸ÐÇéËÆµÄ£¬sessionÊÇÄãºÍÍøÕ¾Ö®¼äµÄ¸ÐÇé¡£ sessionÔÚWEB¼¼ÊõÖÐÕ¼Óзdz£ÖØÒªµÄ·ÝÁ¿¡£ÓÉÓÚÍøÒ³ÊÇÒ»ÖÖÎÞ״̬µÄÁ¬½Ó³ÌÐò£¬Òò´ËÄãÎÞ·¨µÃÖªÓû§µÄä¯ÀÀ״̬¡£Òò´ËÎÒÃDZØÐë ͨ¹ýsession¼Ç¼Óû§µÄÓйØÐÅÏ¢£¬ÒÔ¹©Óû§ÔÙ´ÎÒÔ´ËÉí·Ý¶Ôweb·þÎñÆ÷ÌṩҪÇóʱ×÷È·ÈÏ£¬ÀýÈ磬ÎÒÃÇÔÚÄ³Ð©ÍøÕ¾Öг£³£ÒªÇóÓû§µÇ¼£¬ µ«ÎÒÃÇÔõô֪µÀÓû§ÒѾµÇ¼ÁËÄØ£¬Èç¹ûûÓÐsessionµÄ»°£¬µÇ¼ÐÅÏ¢ÊÇÎÞ·¨±£ÁôµÄ£¬ÄÇÆñ²»ÒªÈÃÓû§ÔÚÃ¿Ò»Ò³ÍøÒ³Öж¼ÒªÌṩ Óû§ÃûºÍÃÜÂë¡£ µ±È»£¬session²»¹âÓÃÓÚÓû§Éí·ÝÈÏÖ¤¹¦ÄÜ£¬»¹¿ÉÄÜÓÃÓÚÆäËü·½Ã棬ÒÔºóÎÒÃÇ»áÌáµ½µÄ¡£ sessionÓÃÖÐÎÄÀ´½âÊ;ÍÊǻỰÆÚ¡£Ò»¸ö»á»°ÆÚ¿ªÊ¼ÓÚÓû§ÊäÈëÒ»¸öÕ¾µãµÄÍøÖ·Ê±£¬½áÊøÓÚËûÀ뿪Õâ¸öÕ¾µãʱ¡£ session×îÔç³öÏÖÔÚ¶¯Ì¬½Å±¾ÓïÑÔActive Server PagesÖУ¬ËüµÄ¹¦ÄÜ֮ǿ´ó£¬ÊÇÒ»¾ä»°ÎÞ·¨ËµÇå³þµÄ¡£ µ±php»¹ÔÚ3.0°æ±¾Ê±£¬sessionÊÇËüÓÀÔ¶µÄÍ´¡£ËäÈ»php¾ßÓÐÖ´ÐÐËٶȿ죬ʹÓÃÁé»î£¬¹¦ÄÜÇ¿´óµÈÓŵ㣬µ«ÒòΪsessionµÄÎÊÌ⣬ʹºÜ¶àÕ¾µãµÄ¿ª·¢·ÅÆúÁËphp,ÖÁÉÙÎÒµÄÀϰåÊÇÕâÑùÈÏΪµÄ¡£µ±Ê±ÓкܶàphpÃâ·Ñº¯Êý¿âÌṩÔÚphp3ÉÏʵÏÖsessionµÄ·½°¸£¬µ«¶¼ÈÃÈ˸оõ²»Õý×Ú¡£ ¾ÍºÃÏóÄ㻨ºÃ¼¸Ç§´óÑóÂòµÄÊÖ»úÈ´ÅäÖÃÒ»¸öºÜ´Ö²ÚµÄ²Ý×÷µÄ´ü×ÓÒ»Ñù£¬ËäÈ»¹¦ÄÜÊÇÒ»ÑùµÄ£¬µ«×ÜÈÃÈ˾õµÃ±ðŤ¡£php4µÄ³öÏÖÈÃphpÔÚsessionÎÊÌâÉÏ ÓÐÁË·ÉíµÄ»ú»á¡£ËäÈ»ËüµÄsessionʵÏÖ»¹²»ÊǺÜÀíÏë(Ö÷ÒªÊÇЧÂÊÎÊÌâ),µ«±Ï¾¹ÊÇËü×Ô¼ºÊµÏֵ쬶øÇÒ¿ÉÒÔʵ¼ÊʹÓÃÁË¡£ ÄÇÎÒÃÇÓÃsession¸ÉÊ²Ã´ÄØ£¬Äã˵Á˰ëÌ죬ÎÒÓò»Éϵϰ£¬ÄãÆñ²»ÓÐÂôÖ½ÕÅÖ®ÏÓ¡£OK,ÎÒÃÇÀ´¿´¿´sessionÓÐʲôÓÃ:×÷¹ýÍøÕ¾µÄÈ˶¼ÓÐÕâÑùµÄÌå»á£¬ÔÚÒ»Ò³Ò³ÃæÖеıäÁ¿(ÔÚ±¾Õ¶¼Ö¸·þÎñÆ÷¶Ë±äÁ¿£¬ÏÂͬ)ÊDz»ÄÜÔÚÏÂÒ»Ò³ÖÐÓõģ¬ËäÈ»ÓÐһЩ°ì·¨¿ÉÒÔʵÏÖ£¬±ÈÈçÓÃform£¬urlstringµÈµÈ µ«ÓÐЩ¶ÔÓÚÓû§À´ËµÊDz»·½±ãµÄ£¬¼´Ê¹ÈÃform×Ô¶¯Ìá½»£¬µ«ÆäÖеÄÑÓʱÔÚÏÖ½ñµÄÍøÂç×´¿öÏÂ×ãÒÔÈÃÈËÖÏÏ¢,¶øÕâÁ½ÖÖ·½·¨¶¼Ã÷ÏÔ¼Ó´ó³ÌÐòÔ±µÄ¸ºµ£¡£Èç¹ûÄãÕýÔÚ¿ª·¢Ò»¸ö´óÐÍÏîÄ¿£¬ÄÇÕâЩ¶îÍâµÄ¸ºµ£ÊDz»ÄܺöÂԵġ£¶øÓÐÁËsession¾ÍºÃ°ìÁË£¬sessionÖÐ×¢²áµÄ±äÁ¿¿ÉÒÔ×÷Ϊȫ¾Ö±äÁ¿Ê¹Óá£Ê²Ã´,È«¾Ö±äÁ¿? ºÃ¼«ÁË¡£ÕâÑùÒ»À´£¬ÄãÖªµÀÓÐʲôÓÃÁ˰É:×îÖ÷ÒªµÄÓÃÓÚÓû§Éí·ÝÈÏÖ¤,³ÌÐò״̬¼Ç¼£¬Ò³ÃæÖ®¼ä²ÎÊý´«µÝ¡£ ˵ÁËËüÕâô°ëÌìµÄºÃ´¦£¬ÄãÒѾ¶¯ÐÄÁ˰ɣ¬Ïȱð¸ßÐË£¬Ëü»¹ÓÐȱµãÄØ:ËüÊÇÓÃÎļþ±£´æµÄ±äÁ¿(µ±È»Ð§Âʲ»¸ßÁË,ËäÈ»¿ÉÒÔÓñðµÄ·½Ê½£¬µ« ºÜÂé·³µÄ)£¬²»Äܱ£´æ¶ÔÏó¡£ÓëÖ®Ïà¶ÔµÄÊÇ£¬aspÖеÄsession¿ÉÒÔ±£´æ¶ÔÏó±äÁ¿£¬ÓÃÄÚ´æ±äÁ¿À´±£´æsession±äÁ¿¡£µ«ÎªÊ²Ã´ÎÒÃÇ»¹Ñ¡ÓÃphpÄØ£¬ºÇºÇ, Ϊʲô£¬ÄãÄÜ´Ó±¾ÊéµÄ¿ªÊ¼¿´µ½ÕâÕ£¬Ïë±ØÄãÒ²Ó¦¸ÃÃ÷°×Á˰É,Ä㻹²»Ã÷°×£¬Faint,ÄãÔÙ´ÓÍ·¿´Æð°É£¬ÎÒ±£Ö¤Äã³ÉΪPHPר¼Ò^_^¡£ sessionÊÇÔõÑùʵÏÖµÄÄØ£¿ºÇºÇ£¬ÄãÒ»¶¨ÒÔΪºÜ¸ßÉî°É£¬ÎÒÀ´¸æËßÄãËüµÄÃØÃÜ¡£Èç¹û˵ֻ±£´æ±äÁ¿µÄ»°£¬ºÜ¶à¶ÁÕß¶¼Ã÷°×£¬ÕâÊǺܼòµ¥µÄ£¬ µ«Ç°ÃæÎÒÃÇ˵¹ý,httpÐÒéÊÇÒ»ÖÖÎÞ״̬µÄÁ¬½Ó£¬ÄãÔõô֪µÀÄǸö±äÁ¿ÊÇ˵ģ¬Õâ¸ö±äÁ¿ÓÖÊÇ˵ÄÄØ?ÔÚsessionʵÏÖÖÐÓÃcookieʵÏֵġ£cookie ´æÔÚÓÚ¿Í»§¶Ë£¬Ò²¾ÍÊÇÓû§µÄ»úÆ÷ÖУ¬ÀïÃæ±£´æ×ÅÓû§µÄsession ID£¬Ò²¾ÍÊÇsessionºÅÂë,µ±Óû§µÄä¯ÀÀÆ÷ÇëÇó·þÎñÆ÷ʱ°Ñsession IDÒ²Ò»ÆðË͵½ ·þÎñÆ÷£¬ÕâÑù·þÎñÆ÷¾Í¿ÉÒÔʶ±ðÄãÊÇË£¬Ò²¾Í¿ÉÒ԰ѱäÁ¿Ê¶±ð¿ªÁË¡£ÕâÑùÎÒÃǾͲ»ÄÑÀí½âÁË,ΪʲôÓÐʱsession»áʧЧÁË¡£²»Ðŵϰ£¬Äã¿ÉÒÔÊÔÊÔ: ÔÚIEµÄ"¹¤¾ß"²Ëµ¥ÉÏÓÐ"InternetÑ¡Ïî"²Ëµ¥,´ò¿ªºóÔÙÑ¡"°²È«"->"×Ô¶¨Òå¼¶±ð",½«°²È«ÉèÖÃÖеÄ"ÔÊÐíʹÓÃÿ¸ö¶Ô»°cookies"ÉèΪ½ûÓã¬ÔÙ¿´¿´ sessionÄܲ»ÄÜÓá£ÕâÏÂÃ÷°×Á˰É!²»¹ýphp4ÔÚlinux/unixƽ̨ÉÏ¿ÉÒÔ×Ô¶¯¼ì²écookies״̬£¬µ±cookies ²»¿ÉÓÃʱ£¬×Ô¶¯»á°Ñsession ID ¸½´øÔÚurlÉϽøÐд«µÝ¡£ÕâÊÇËüÔÚsession·½Ãæ±Èasp¶àµÄΨһµÄÓŵãÁË¡£
¶þ¡¢php3,4ÖÐsessionµÄʵÏÖ
ÔÚphp3ÖÐÊÇûÓÐsessionÕâÖÖ¶«¶«µÄ£¬µ«ÎÒÃÇÓÖÐèÒª£¬Ôõô°ìÄØ£¿±ð¼±£¬ÓкܶàÈËÌæÄã×öÁËÕâЩ£¬ÕâÆäÖÐ×îÓÐÃûµÄÒªËãphplibÁË¡£Äã¿ÉÒÔÈ¥¹úÍâÏÂ ÔØ£¬Ò²¿ÉÒÔÉϹúÄڴ󲿷ÖphpÕ¾µãÏÂÔØ¡£ÎÒÃÇÒª×öµÄµÚÒ»¼þÊÂÊÇÈÃphplibºÍphp3½áºÏÔÚÒ»ÆðʹËüÄܹ¤×÷¡£ÎªÁËÄÜʵÏÖÕâ·½ÃæµÄ¹¦ÄÜ£¬ÎÒÃÇÐèÒªÏȰ²×°phplib¡£ ¸ú×ÅÎÒÀ´×ö£¬ºÜÈÝÒ×µÄ(ÒÔÏ·½·¨ÔÚwin2000+php3.0.16+apache1.3.12+phplib7.2c+mysql3.23.21 for win32 ÉÏͨ¹ý) phplib×î»ù±¾µÄ¹¦ÄܰüÀ¨Óû§ÈÏÖ¤£¬Session¹ÜÀí£¬È¨ÏÞ¼°Êý¾Ý¿âµÄ³éÏ󻯡£ ÔõÑùʹÓÃphplibÀ´ÊµÏÖsession¹¦ÄÜÄØ? Ò»¡¢Ê×ÏÈÄ㽫phplib½â¿ª£¬ÀïÃæÓÐÒ»¸öĿ¼½Ð"php",½«Õâ¸öĿ¼¿½±´µ½apacheµÄ°²×°Ä¿Â¼Ï¡£ÒÔÏÂÒÔ±ÊÕߵĻúÆ÷ΪÀý: ÎÒµÄapache°²×°ÔÚd:apache Ŀ¼ÏÂ,ÎÒ½«ÉÏÃæµÄ"php"Ŀ¼¿½±´µ½d:apache,²¢½«phplibϵÄpagesĿ¼ÏµÄÎļþºÍĿ¼һÆð¿½±´µ½ d:apachehtdocsÏ£¬×¢Òâ²»´øÄ¿Â¼±¾Éí¡£ phplibµÄÀà¿âÐèÒª¸ù¾Ýϵͳ½øÐгõʼ»¯£¬Äã¿ÉÒÔÐÞ¸Älocal.incÎļþ£¬ÆäÖаüº¬×ÅһЩ»ù±¾²ÎÊý£¬Äã¿ÉÒÔ¸ù¾Ý×Ô¼º»úÆ÷µÄʵ¼ÊÇé¿öÀ´½øÐÐÐ޸ġ£ ½«d:apachephpprepend.php3ÎļþÖеÄÒ»¶Î³ÌÐò¸ÄΪÈçÏÂÑù×Ó£º
if (!isset( $_PHPLIB) or !is_array( $_PHPLIB)) { $_PHPLIB["libdir"] = "d:/apache/php/"; //Õâ¶ù¸ÄΪÄã·ÅphplibÏÂphpĿ¼µÄ·¾¶ }
È»ºó½«d:apachephplocal.incÎļþ¸ÄÈçÏÂ:
class DB_Example extends DB_Sql { var $Host = "localhost";//ÄãµÄmysqlÊý¾Ý¿âËùÔÚÖ÷»úÃû var $Database = "test";//Êý¾Ý¿âÃû var $User = "root";//Êý¾Ý¿âÓû§Ãû var $Password = "";//Êý¾Ý¿âÓû§¿ÚÁî }
×îºóÒ»²½Ö´Ðн⿪µÄphplibĿ¼ÖеÄstuffĿ¼ÏµÄcreate_database.mysqlÎļþ,Éú³É³õʼ±í¡£ ÎÒÃÇ˵Ã÷Ò»ÏÂphplibµÄ¹¤×÷ÔÀí£¬Ã¿Ò»¸öʹÓÃphplibµÄÒ³ÃæÊ×ÏȱØÐë¿ÉÒÔÕÒµ½ÔËÐÐphplibËù±ØÐëÀà¿âÎļþ£¬ÎÒÃÇ¿ÉÒÔÔÚphp3.iniÖÐÉèÖÃauto_prepend ±äÁ¿À´Ö§³Ö£¬phplib·Ö·¢°üÖаüº¬Ò»¸öprepend.php3Îļþ£¬½«auto_prependÖ¸¶¨Îª"d:/apache/php/prepend.php3"(´øÒýºÅ)ºó£¬¸÷Ò³Ãæ¾Í»á×Ô¶¯°üº¬phplibÀà¿â£¬ÎÒÃÇ»¹¿ÉÒÔ ½«phplibÀà¿âËùÔÚĿ¼¼Ó½øinclude±äÁ¿ÖУ¬ÒÔ±ã¿ÉÒÔÕÒµ½ÕâЩÎļþ£¬µ±È»£¬×î±½µÄ°ì·¨¾ÍÊÇÖ¸¶¨phplibµÄ¾ø¶Ô·¾¶£¬Õâ¿É²»ÊǸöºÃÖ÷Òâ,¿ÉÒÆÖ²ÐÔÌ«²î£¡ µÚ¶þ²½£¬Ã¿Ò»¸öʹÓÃphplibµÄÒ³ÃæÖУ¬Äã±ØÐëÊ×Ïȵ÷ÓÃpage_openº¯Êý½øÐгõʼ»¯¡£Õâ»á¸æËßphplib£¬ÄãÏÖÔÚ»ò½«À´»áÓõ½×´Ì¬±£´æ¡£Ò»¸öµäÐ굀 page_openÀý×ÓÈçÏ£º <?php page_open(array("sess" => "Example_Session")); ?>
Êý×é±äÁ¿(sess)ÓÃÀ´³õʼ»¯Ò»Ð©×´Ì¬±£´æ¶ÔÏó£¬×¢Ò⣺±ØÐëʹÓÃphplibÄÚÖÃÃû(sess)£¬ÕâЩÄÚÖÃÃûÊÇÄãÔÚlocal.iniÖÐËù¶¨ÒåµÄ£¬page_open º¯Êý±ØÐëÔÚÒ³ÃæÄÚÈÝÊä³öµ½ä¯ÀÀÆ÷֮ǰ±»µ÷Óá£php3½Å±¾×îºóÓ¦ÒÔpage_close()½áÊø£¬Õ⽫»á½«ÓйØ×´Ì¬Êý¾Ýд»Øµ½Êý¾Ý¿âÖУ¬Èç¹ûÄãÍüÁ˵ϰ£¬ ½á¹ûÄãÓ¦¸ÃÄÜÏëµ½,¹þ¹þ£¬ÄãµÄ±äÁ¿È«¶ªÁË,¿É²»Òª¹ÖÎÒû¸æËßÄã...
ÒòΪphplibʹÓÃÁËCookiesÀ´±£´æ×´Ì¬ÐÅÏ¢£¬ËùÒÔpage_open()º¯Êý±ØÐëÔÚÒ³ÃæÄÚÈÝÊä³öµ½ä¯ÀÀÆ÷֮ǰ±»µ÷Ó㬠ÕâÀïµÄÒ³ÃæÄÚÈÝ¿ÉÒÔÊÇÈκÎHTML ÐÅÏ¢»òÕß¿ÕÐУ¬Èç¹ûÄã·¢ÏÖÁË´íÎó"Oops - SetCookie called after header has been sent"£¬Õâ±íÃ÷ÔÚpage_open()֮ǰÏòä¯ÀÀÆ÷Êä³öÁËЩʲô£¬ ÄãÒªÌØ±ðÁôÒâ¿ÕÐУ¬ÒòΪ·Ç³£ÄÑÕÒµ½£¬µäÐ͵ĴíÎóÊÇÔÚ<? ºÍ ?>±ê¼ÇÖ®¼äÊä³öÁË¿ÕÐУ¬ÄãÓ¦¼ì²éÔÚlocal.incºÍprepend.php3ÎļþÖÐÊÇ·ñ°üº¬ÁË¿ÕÐУ¬ ÕâÒ²ÊÇÒ»¸ö·Ç³£ÈÝÒ׳ö´íµÄµØ·½¡£ÎªÁ˼õÉÙ³ö´íµÄ¿ÉÄÜ,ÎÒÃÇ¿ÉÒÔÕâÑùÊéд³õʼ»¯³ÌÐò: <? page_open(array("sess" => "Example_Session")); ?> <html> ..... </html> µÚÈý²½£¬¾ßÌåʹÓᣠµ±Ò»¸öÓû§·ÃÎÊÁ˸ÃÍøÕ¾ºó£¬Ëæ¼´Óû§µÄsession¾Í¿ªÊ¼ÁË£¬Èç¹ûÓû§µÄä¯ÀÀÆ÷Ö§³ÖcookieµÄ»°£¬½«»á½¨Á¢Ò»¸ösessionµÄid·ÅÈëcookie£¬ Õâ¸öΨһµÄIDÊÇÓÉPHP3Ëæ»úÉú³É£¬È»ºóÓÖÓÃËæ»úÖÖ×Ó×Ö´®½øÐÐmd5¼ÓÃܹýÁ˵ģ¬ÕâÀïµÄcookieÓ¦¸Ã½Ð×ösession cookie£¬ÒòΪÕâ¸öcookieÊDz»»á дµ½Óû§Ó²ÅÌÀïÈ¥µÄ£¬µ±Ò»¸ösessionÆÚ½áÊøµÄʱºò£¬¸ÃcookieÒ²±»Íê½áÁË¡£Èç¹ûÓû§ä¯ÀÀÆ÷²»Ö§³ÖcookieµÄ»°£¬ÄÇô ¸ÃsessionµÄid½«»á·ÅÈëurlÁ´ÖУ¬ ÒòΪÊǼÓÃܹýµÄ£¬ËùÒÔÇÔÈ¡ÁËҲûÓá£session ID´æ·Å×ÅÓû§µÄÓйØÐÅÏ¢£¬ÈçÓû§ÒÑÈÏÖ¤¡¢ÈÏÖ¤µ½ÆÚʱ¼ä¡¢Óû§È¨ÏÞ£¬ºÍÆäËûһЩÄã¿ÉÄÜÐèÒªµÄÐÅÏ¢£¬ ·½±ãÎÒÃÇÈ¡ÓᣠSessionÆäʵ¾ÍÊÇÓû§Ò»´Î»á»°µÄ¹ý³Ì¡£Session²¢²»Êǽö½öÓÃÀ´¸ú×ÙÓû§µÄ×¢²á£¬Êµ¼ÊÉÏ£¬Ëü»¹¿ÉÒÔÓÐÆäËüµÄʹÓó¡ºÏ£¬Äã¿ÉÒÔÓÃËüÀ´´æ´¢ÈκÎÄãÏëÒª ´æÖüµÄÐÅÏ¢£¬ÕâЩÐÅÏ¢¿ÉÒÔÔÚÓû§Ëæºó·ÃÎʵÄÒ³ÃæÖÐÅÉÉÏÓ󡣬µ±È»Ç°ÌáÊÇÄÇÐ©Ò³ÃæÒªÊ¹ÓÃPHPLIB¡£·½·¨ºÜ¼òµ¥£¬×¢²áÒ»¸ö±äÁ¿ºó¼´¿ÉÔÚËæºóµÄÒ³ÃæÖÐʹÓÃËü£¬ Ö±ÖÁsession½áÊø¡£·½·¨£º
<?php $sess->register( "variable_name"); ?>
×¢Ò⣬ÕâÀïµÄvariable_name²»ÊDZäÁ¿Öµ£¬¶øÊDZäÁ¿Ãû£¬¿ÉÒÔÏÈÖ¸¶¨±äÁ¿Ãû£¬ËæºóÔÙ¸³Öµ¡£ÄãÔÚij¸öÒ³ÃæÖпÉÒԸıä±äÁ¿µÄÖµ£¬ËæºóµÄÒ³Ãæ·ÃÎʸñäÁ¿Ê± »áµÃµ½¸Ä±äºóµÄÖµ¡£±äÁ¿µÄÀàÐÍÊǶàÑùµÄ£¬¿ÉÒÔÊÇÒ»¸ö×Ö´®£¬Ò»¸öÊý×Ö£¬Ò»¸öÊý×é¡£¾ÙÀýÀ´ËµÃ÷£º µÚÒ»Ò³: <?php page_open(array("sess" => "Example_Session")); $sess->register( "first"); //×¢Òâ±äÁ¿Ãûǰ²»ÐèÒª¼Ó $ if (iset( $firstname)) { $first = $firstname; } ..... page_close(); ?> µÚ¶þÒ³: <?php page_open();//¿ªÊ¼session
echo $first;//¿´¿´Ð§¹û
page_close();//±£´æ×´Ì¬ÐÅÏ¢ ?>
×¢²áÍêÒ»¸ö±äÁ¿£¬µ±Ò³Ãæ×îºóµ÷ÓÃpage_close()º¯Êýºó£¬¸÷¸ösession±äÁ¿»á±»Ð´»Øµ½Êý¾Ý¿âÖС£Èç¹ûÄãÍü¼Çµ÷ÓÃpage_close()º¯ÊýµÄ»°£¬ ±äÁ¿¾Í²»»á±»Ð´»ØÊý¾Ý¿â£¬½«³öÏÖ²»¿ÉÔ¤ÖªµÄºó¹û¡£µ±±äÁ¿±»Ê¹ÓÃÍê±Ï£¬Äã²»ÔÙÐèÒªÓõ½Ê±£¬¿ÉÒÔµ÷ÓÃÒÔϺ¯Êý½«±äÁ¿É¾³ý£º <?php page_open(array("sess" => "Example_Session")); ... $sess->unregister( "variable_name"); ... page_close(); ?>
PHPLIB 7.0ÖУ¬Ê¹ÓÃÁËÒ»ÖÖ´æ´¢½á¹¹£¬ËüÔÊÐíÄã´æ´¢sessionÊý¾Ýµ½Êý¾Ý¿âÖС¢¹²ÏíÄÚ´æÖлòÕßLDAPÖС£PHPLIBʹÓÃÁËÊý¾Ý¿âÀ࣬ÕâʹµÃÄãÓÐ Á˸ü¶àµÄÑ¡Ôñ,Äã¿ÉÒÔÑ¡ÓÃoracle8,mysql,postgresqlµÈµÈÊý¾Ý¿âÀ´±£´æ×´Ì¬ÐÅÏ¢¡£
¹ØÓÚphplibÖÐµÄÆäËü¹¦ÄÜÒÔ¼°ÓйØsessionµÄÆäËüº¯ÊýµÄʹÓã¬Äã¿ÉÒԲο´Ëü´øµÄÊÖ²á,»òÉÏËüµÄÍøÕ¾¿´ÔÚÏßÎĵµ¡£ËüµÄÀϼÒÔÚ http://phplib.netuse.de/index.php3 ¡£ php4µÄsessionʵÏÖ´ó¶¼´ÓphplibѧÀ´µÄ£¬ËüÒ²¿¿cookies±£´æsession id,ÓÃÎļþϵͳ±£´æ±äÁ¿(ĬÈÏÇé¿öÏÂ)¡£Òò´Ë£¬ËüµÄsession ±äÁ¿²»Äܱ£´æ¶ÔÏó(ÊÂʵÉÏÄܱ£´æ¶ÔÏóÄÚÈÝ£¬µ«Ã»ÓÐÒâÒ壬ÒòΪËüÊDZ£´æÔÚ´ÅÅÌÉϵ쬲»ÊÇ»îµÄ¶ÔÏ󣬳äÆäÁ¿Ò²¾ÍÊǶÔÏóʬÌå¡£)²»¹ýÕâµãµÄÏÞÖÆ²»ÊÇÌ« ´ó£¬ÎÒÃÇÔڴ󲿷ÖÇé¿ö϶¼Ö»ÐèÒª±£´æ±äÁ¿¾ÍÐÐÁË¡£µ±È»ÄãÒ²¿ÉÒÔ½«session±£´æÔÚÊý¾Ý¿âÖÐ,ÏÂһС½ÚÖÐÎÒÃǻὲµ½ÔõÑù½«session±£´æÔÚÊý¾Ý¿âÖС£ ÔÚphp4ÖÐÓÉÓÚ±Èphp3¶àÁËsessionÖ§³Ö£¬ËùÒÔÔÚphp.iniÎļþÖÐÒ²¶àÁËsessionÅäÖÃÑ¡Ïî¡£ÏÂÃæÎÒÃÇÀ´¿´¿´¸÷ÏîµÄ×÷ÓÃÓëÒâÒå:
[Session] session.save_handler = files ; handler used to store/retrieve data(ÓÃʲô±£´æsession±äÁ¿,ĬÈÏÇé¿öÏÂÓÃÎļþ) session.save_path = c:/temp ; argument passed to save_handler(±£´æsession±äÁ¿µÄĿ¼£¬ÔÚlinux/unixÏÂΪ/tmp,ÔÚwinÏÂÉèΪÄãµÄĿ¼) ; in the case of files, this is the ; path where data files are stored session.use_cookies = 1 ; whether to use cookies(ÊÇ·ñʹÓÃcookies,µ±È»£¬ÔÚwinϱðÎÞÑ¡Ôñ) session.name = PHPSESSID ; name of the session(ĬÈÏsessionʹÓõÄcookiesÃû,½¨Òé²»Òª¸Ä¶¯) ; is used as cookie name session.auto_start = 0 ; initialize session on request startup(ÊÇ·ñ×Ô¶¯ÆôÓÃsession,µ±Îª1ʱ£¬ÔÚÿҳÖоͿÉÒÔ²»±Øµ÷ÓÃsession_start()º¯ÊýÁË) session.cookie_lifetime = 0 ; lifetime in seconds of cookie(É趨 cookie Ë͵½ä¯ÀÀÆ÷ºóµÄ±£´æÊ±¼ä£¬µ¥Î»ÎªÃ롣ȱʡֵΪ 0£¬±íʾֱµ½ä¯ÀÀÆ÷¹Ø±Õ¡£) ; or if 0, until browser is restarted session.cookie_path = / ; the path the cookie is valid for(cookie)(cookiesÓÐЧ·¾¶) session.cookie_domain = ; the domain the cookie is valid for(cookiesÓÐЧÓòÃû) session.serialize_handler = php ; handler used to serialize data(¶¨ÒåÐòÁл¯Êý¾ÝµÄ±êʶ£¬±¾¹¦ÄÜÖ»ÓÐ WDDX Ä£¿é»ò PHP ÄÚ²¿Ê¹Óá£È±Ê¡ÖµÎª php) ; php is the standard serializer of PHP session.gc_probability = 1 ; percentual probability that the (É趨ÿ´ÎÁÙʱÎļþ¿ªÊ¼´¦Àí (gc, garbage collection) ´¦Àí¸ÅÂÊ¡£È±Ê¡ÖµÎª 1¡£ ) ; garbage collection process is started ; on every session initialization session.gc_maxlifetime = 1440 ; after this number of seconds, stored(É趨±£´æsessionµÄÁÙʱÎļþ±»Çå³ýǰµÄ´æ»îÃëÊý) ; data will be seen as garbage and ; cleaned up by the gc process session.referer_check = ; check HTTP Referer to invalidate (¾ö¶¨²ÎÕÕµ½¿Í»§¶ËµÄ Session ´úÂëÊÇ·ñҪɾ³ý¡£ÓÐʱÔÚ°²È«»òÆäËü¿¼ÂÇʱ£¬»áÉ趨²»É¾³ý¡£È±Ê¡ÖµÎª 0¡£) ; externally stored URLs containing ids session.entropy_length = 0 ; how many bytes to read from the file(É趨 session ´Ó¸ßìØÖµ×ÊÔ´¶ÁÈ¡µÄλÊý¡£È±Ê¡ÖµÎª 0.) session.entropy_file = ; specified here to create the session id(É趨 session ´úÂ뽨Á¢Ê±£¬Ê¹ÓÃÍⲿ¸ßìØÖµ×ÊÔ´»òÎļþÀ´½¨Á¢£¬ÀýÈç UNIX ϵͳÉ쵀 /dev/random »ò /dev/urandom¡£ ) ; session.entropy_length = 16 ; session.entropy_file = /dev/urandom session.cache_limiter = nocache ; set to {nocache,private,public} to (É趨session »º³åÏÞÖÆ) ; determine HTTP caching aspects session.cache_expire = 180 ; document expires after n minutes(ÎĵµÓÐЧÆÚ,µ¥Î»Îª·ÖÖÓ)
ÔÚwindowsƽ̨Ï£¬php4.01pl2ÒÔǰµÄ°æ±¾»á³öÏÖÉèÖÃsession.save_path ºó³ö´íµÄÇé¿ö£¬ÕâÊÇphpµÄÒ»¸öbug,ÔÚphp4.01pl2¼°ÒÔºóÒѾÐÞÕýÁË¡£Èç¹ûÄãÓÃÒÔǰµÄ°æ±¾£¬ Äã¿ÉÒÔ½«session.save_pathÉèΪ"./",»òÉèΪ"/temp",²¢ÔÚÄã·ÅÖÃphp½Å±¾µÄµ±Ç°Å̸ùĿ¼Ï½¨Ò»¸öÃûΪtempµÄĿ¼¼´¿É(ÎÒµÄphp½Å±¾·ÅÔÚd:apachehtdocsÏ£¬ÔòÎÒÔÚd:Å̸ùĿ¼Ï½¨Ò»ÃûΪtempµÄĿ¼)¡£ ÔÚphp4ÖÐÓйØsessionµÄº¯ÊýÖ÷ÒªÓÐÒÔÏÂÕâЩ£º
session_start: ³õʼ»¯session,ÐèÒªÓÃsessionµÄÿһ¸öÒ³Ãæ×ʼ´¦µ÷Óᣠsession_destroy: ½áÊø session,ÔÚÐèÒª½áÊøsession´¦µ÷¡£ session_name: ´æÈ¡Ä¿Ç° session Ãû³Æ¡£ session_module_name: ´æÈ¡Ä¿Ç° session Ä£¿é¡£ session_save_path: ´æÈ¡Ä¿Ç° session ·¾¶¡£ session_id: ´æÈ¡Ä¿Ç° session idºÅ¡£ session_register: ×¢²áеÄsession±äÁ¿¡£ session_unregister: ɾ³ýÒÑ×¢²ásession±äÁ¿¡£ session_is_registered: ¼ì²ésession±äÁ¿ÊÇ·ñ×¢²á¡£ session_decode: Session Êý¾Ý½âÂë¡£ session_encode: Session Êý¾Ý¼ÓÃÜ¡£
ͨ³£Çé¿öÏÂÎÒÃÇÖ»ÐèÒªµ÷ÓÃÈý¸öº¯Êý¼´¿É¡£ ¼´sesssion_start()¡¢session_register()¡¢session_is_registered()¡£ ÔÚÐèÒªÓõ½sessionµÄÿһҳµÄ×ʼ´¦µ÷ÓÃsession_start()º¯Êý£¬ Ò»¸öµäÐ͵ÄʹÓÃsessionµÄÒ³ÃæÈçÏ£º <?session_start()?> <html> .... <body> <? $var="hello"; session_register("var");//×¢²á $var±äÁ¿£¬×¢ÒâûÓÐ $·ûºÅ
if(session_is_registered("var"))//¼ì²é±äÁ¿ÊÇ·ñ×¢²á echo "haha,×¢²áÁË!"; else echo "sorry,»¹Ã»ÓÐ×¢²á!";
?> </body> </html>
php4ÖÐsession´¦ÀíµÄ¶¨ÖÆ
ÎÒÃÇÐèÒªÀ©³ä6¸öº¯Êý£¬µ±È»ÕâЩº¯Êý²»ÐèÄãÈ¥µ÷Ó㬶ÔÎÒÃÇÀ´ËµÊÇ͸Ã÷µÄ¡£
Õ⼸¸öº¯ÊýÊÇ: sess_open( $sess_path, $session_name);
Õâ¸öº¯Êý±»session´¦Àí³ÌÐòµ÷ÓÃÀ´×÷³õʼ»¯¹¤×÷¡£ÐèÒª´«¸øËüµÄÁ½¸ö²ÎÊýÊÇ $sess_path,Ëü¶ÔÓ¦ÄãµÄphp.iniÎļþÖеÄsession.save_path Ñ¡Ïî; $session_name,Ëü¶ÔÓ¦php.iniÖеÄsession.name Ñ¡Ïî¡£ËüÃǾßÌåÔõÑù¹¤×÷,Çë¿´ÏÂÃæµÄÀý×Ó¡£
sess_close();
Õâ¸öº¯ÊýÔÚÒ³Ãæ½áÊøÖ´Ðв¢ÇÒsession´¦Àí³ÌÐòÐèÒª¹Ø±Õʱ±»µ÷Óá£(×¢Ò⣬²»ÒªºÍsess_destory»ìÏýÁË,ËüÊÇÓÃÀ´½áÊøsessionµÄ)
sess_read( $key);
Õâ¸öº¯ÊýÔÚsession´¦Àí³ÌÐò¶Áȡָ¶¨session¼üÖµ( $key)ʱ¡£ Õâ¸öº¯Êý¼ìË÷²¢·µ»Ø±êʶΪ $keyµÄsessionÊý¾Ý.(×¢Ò⣺Äã²»Óõ£ÐÄÔõÑùÐòÁл¯ºÍ·´ÐòÁл¯Êý¾Ý,Èç¹ûÄã²»ÖªµÀÕâÊÇʲôÒâ˼£¬²»Òªµ£ÐÄËü)
ÒëÕß×¢£ºÐòÁл¯Êǽ«±äÁ¿»ò¶ÔÏóÔÚ³ÌÐò½áÊø»òÐèҪʱ±£´æÔÚÎļþÖУ¬ÔÚÏ´γÌÐòÔËÐлòÐèҪʱÔÙµ÷ÈëÄÚ´æµÄ¼¼Êõ,ÓбðÓÚÖ»±£´æÊý¾ÝµÄ·½·¨¡£
sess_write( $key, $val);
Õâ¸öº¯Êý¾ÝÔÚsession´¦Àí³ÌÐòÐèÒª½«Êý¾Ý±£´æÊ±µ÷ÓÃ,ÕâÖÖÇé¿ö¾³£ÔÚÄãµÄ³ÌÐò½áÊøÊ±·¢Éú¡£ Ëü¸ºÔð½«Êý¾Ý±£´æÔÚÏ´ÎÄÜÓÃsess_read( $key)º¯Êý¼ìË÷µÄµØ·½¡£
sess_destroy( $key);
Õâ¸öº¯ÊýÔÚÐèÒªÏû»Ùsessionʱ¡£Ëü¸ºÔðɾ³ýsession²¢ÇÒÇå³ý»·¾³¡£
sess_gc( $maxlifetime); Õâ¸öº¯Êý¸ºÔðÇåÀíË鯬¡£ÔÚÕâÖÖÇé¿öÏ£¬Ëü¸ºÔðɾ³ý¹ýʱµÄsessionÊý¾Ý¡£session´¦Àí³ÌÐò»áż¶ûµ÷ÓÃËüÃÇ¡£
ÏÖÔÚÎÒÃÇÒѾÇå³þÁËÎÒÃÇÌṩµÄº¯Êý¡£
¶¨ÖƳÌÐò¿ÉÒÔÓÃmysqlÊý¾Ý¿â»òDBMÎļþ±£´æsessionÊý¾Ý¡£È¡¾öÓÚÄãµÄÐèÒª¡£ Èç¹ûÄã¾ö¶¨Ê¹ÓÃmysql×÷Ö§³Ö£¬ÄÇÐèÒª×÷ÒÔϹ¤×÷:
Ê×ÏÈÎÒÃÇÔÚmysqlÖд´½¨Ò»¸ösessionsÊý¾Ý¿â£¬²¢ÇÒ´´½¨Ò»¸ösessions±í¡£ÏÈÔËÐÐÄãµÄmysql¿Í»§¶Ë²¢ÇÒÖ´ÐÐÏÂÃæµÄÃüÁ mysql> CREATE DATABASE sessions;
mysql> GRANT select, insert, update, delete 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) -> );
ÏÂÒ»²½,ÐÞ¸Äsession_mysql.phpÎļþµÄ $SESS_DB* ±äÁ¿Ê¹ÆäÆ¥ÅäÄã»úÆ÷ÉϵÄÊý¾Ý¿âÉèÖá£
(ºÜ±§Ç¸£¬ÓÉÓÚ°æÈ¨ÔÒò£¬ÎÒ²»ÄܰÑÒÔÏ´úÂëÖеÄÓ¢ÎÄÈ¥µô£¬Ö»ºÃ¼ÓЩעÊÍÁË:) ================================================================================== <? /* ------------------------------------------------------------------------ * session_mysql.php * ------------------------------------------------------------------------ * PHP4 MySQL Session Handler * Version 1.00 * by Ying Zhang (ying@zippydesign.com) * Last Modified: May 21 2000 * * ------------------------------------------------------------------------ * TERMS OF USAGE: * ------------------------------------------------------------------------ * You are free to use this library in any way you want, no warranties are * expressed or implied. This works for me, but I dont guarantee that it * works for you, USE AT YOUR OWN RISK. * * While not required to do so, I would appreciate it if you would retain * this header information. If you make any modifications or improvements, * please send them via email to Ying Zhang <ying@zippydesign.com>. * * ------------------------------------------------------------------------ * DESCRIPTION: * ------------------------------------------------------------------------ * This library tells the PHP4 session handler to write to a MySQL database * instead of creating individual files for each session. * * Create a new database in MySQL called "sessions" like so: * * CREATE TABLE sessions ( * sesskey char(32) not null, * expiry int(11) unsigned not null, * value text not null, * PRIMARY KEY (sesskey) * ); * * ------------------------------------------------------------------------ * INSTALLATION: * ------------------------------------------------------------------------ * Make sure you have MySQL support compiled into PHP4. Then copy this * script to a directory that is accessible by the rest of your PHP * scripts. *È·ÐÅÄãµÄphp4ÓÐmysqlÖ§³Ö£¬È»ºó°ÑÕâ¸ö½Å±¾¿½±´µ½ºÍÄãµÄphp½Å±¾ÓйصÄĿ¼¡£ * ------------------------------------------------------------------------ * USAGE:£¨Ê¹Ó÷½·¨£© * ------------------------------------------------------------------------ * Include this file in your scripts before you call session_start(), you * dont have to do anything special after that. *°üº¬Õâ¸öÎļþµ½ÄãҪʹÓÃsessionµÄÎļþÖУ¬±ØÐëÔÚµ÷ÓÃsession_start()֮ǰ£¬·ñÔò, *»áºÜ²ÒµÄ£¬²»Òª¹ÖÎÒû¸æËßÄã¡£ ÕâÑù¾Í²»ÐèÒªÔÙ×öʲô¹¤×÷ÁË,»¹ºÍÄãÒÔǰÓÃsessionµÄ·½·¨Ò»Ñù¡£ */
$SESS_DBHOST = "localhost"; /* database server hostname */ $SESS_DBNAME = "sessions"; /* database name */ $SESS_DBUSER = "phpsession"; /* database user */ $SESS_DBPASS = "phpsession"; /* database password */
$SESS_DBH = ""; $SESS_LIFE = get_cfg_var("session.gc_maxlifetime");
function sess_open( $save_path, $session_name) { global $SESS_DBHOST, $SESS_DBNAME, $SESS_DBUSER, $SESS_DBPASS, $SESS_DBH;
if (! $SESS_DBH = mysql_pconnect( $SESS_DBHOST, $SESS_DBUSER, $SESS_DBPASS)) { echo "<li>Cant connect to $SESS_DBHOST as $SESS_DBUSER"; echo "<li>MySQL Error: ", mysql_error(); die; }
if (! mysql_select_db( $SESS_DBNAME, $SESS_DBH)) { echo "<li>Unable to select database $SESS_DBNAME"; die; }
return true; }
function sess_close() { return true; }
function sess_read( $key) { global $SESS_DBH, $SESS_LIFE;
$qry = "SELECT value FROM sessions WHERE sesskey = $key AND expiry > " . time(); $qid = mysql_query( $qry, $SESS_DBH);
if (list( $value) = mysql_fetch_row( $qid)) { return $value; }
return false; }
function sess_write( $key, $val) { global $SESS_DBH, $SESS_LIFE;
$expiry = time() + $SESS_LIFE; $value = addslashes( $val);
$qry = "INSERT INTO sessions VALUES ( $key, $expiry, $value)"; $qid = mysql_query( $qry, $SESS_DBH);
if (! $qid) { $qry = "UPDATE sessions SET expiry = $expiry, value = $value WHERE sesskey = $key AND expiry > " . time(); $qid = mysql_query( $qry, $SESS_DBH); }
return $qid; }
function sess_destroy( $key) { global $SESS_DBH;
$qry = "DELETE FROM sessions WHERE sesskey = $key\"; $qid = mysql_query( $qry, $SESS_DBH);
return $qid; }
function sess_gc( $maxlifetime) { global $SESS_DBH;
$qry = "DELETE FROM sessions WHERE expiry < " . time(); $qid = mysql_query( $qry, $SESS_DBH);
return mysql_affected_rows( $SESS_DBH); }
session_set_save_handler( "sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc"); ?> ================================================================= ¶¨ÖÆÊ¹ÓÃdbmÎļþʱµÄ½Ó¿Ú ================================================================= <? /* ------------------------------------------------------------------------ * session_dbm.php * ------------------------------------------------------------------------ * PHP4 DBM Session Handler * Version 1.00 * by Ying Zhang (ying@zippydesign.com) * Last Modified: May 21 2000 * * ------------------------------------------------------------------------ * TERMS OF USAGE: * ------------------------------------------------------------------------ * You are free to use this library in any way you want, no warranties are * expressed or implied. This works for me, but I dont guarantee that it * works for you, USE AT YOUR OWN RISK. * * While not required to do so, I would appreciate it if you would retain * this header information. If you make any modifications or improvements, * please send them via email to Ying Zhang <ying@zippydesign.com>. * * ------------------------------------------------------------------------ * DESCRIPTION: * ------------------------------------------------------------------------ * This library tells the PHP4 session handler to write to a DBM file * instead of creating individual files for each session. * * ------------------------------------------------------------------------ * INSTALLATION: * ------------------------------------------------------------------------ * Make sure you have DBM support compiled into PHP4. Then copy this * script to a directory that is accessible by the rest of your PHP * scripts. *È·ÐÅÄãµÄphp4ÓÐDBMÖ§³Ö¡£¿½±´Õâ¸öÎļþÔÚÄãµÄphp½Å±¾Ä¿Â¼¡£ * ------------------------------------------------------------------------ * USAGE: * ------------------------------------------------------------------------ * Include this file in your scripts before you call session_start(), you * dont have to do anything special after that. * ÔÚµ÷ÓÃsession_start()֮ǰÇë°üº¬Õâ¸öÎļþ¡£Ö®ºó¾Í²»ÐèÒª×÷ʲô¹¤×÷ÁË¡£ */
$SESS_DBM = ""; $SESS_LIFE = get_cfg_var("session.gc_maxlifetime");
function sess_open( $save_path, $session_name) { global $SESS_DBM;
$SESS_DBM = dbmopen(" $save_path/ $session_name", "c"); return ( $SESS_DBM); }
function sess_close() { global $SESS_DBM;
dbmclose( $SESS_DBM); return true; }
function sess_read( $key) { global $SESS_DBM, $SESS_LIFE;
$var = ""; if ( $tmp = dbmfetch( $SESS_DBM, $key)) { $expires_at = substr( $tmp, 0, strpos( $tmp, "|"));
if ( $expires_at > time()) { $var = substr( $tmp, strpos( $tmp, "|") + 1); } }
return $var; }
function sess_write( $key, $val) { global $SESS_DBM, $SESS_LIFE;
dbmreplace( $SESS_DBM, $key, time() + $SESS_LIFE . "|" . $val); return true; }
function sess_destroy( $key) { global $SESS_DBM;
dbmdelete( $SESS_DBM, $key); return true; }
function sess_gc( $maxlifetime) { global $SESS_DBM;
$now = time(); $key = dbmfirstkey( $SESS_DBM); while ( $key) { if ( $tmp = dbmfetch( $SESS_DBM, $key)) { $expires_at = substr( $tmp, 0, strpos( $tmp, "|")); if ( $now > $expires_at) { sess_destroy( $key); } }
$key = dbmnextkey( $SESS_DBM, $key); } }
session_set_save_handler( "sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc"); ?>
================================================================= ¾ßÌåÔõôÓþͲ»Óöà˵ÁË£¬ÒòΪÕâЩº¯Êý¶¼ÊÇphpÒýÇæµ÷Óõģ¬ÓëÎÒÃÇÎ޹صġ£ÎÒÃÇÖ»ÐèÕÕÉÏÊöÅäÖúó¾ÍÐÐÁË£¬ÄãÓõϹÊÇÒÔǰµÄsessionº¯Êý¡£ ¿´¿´ÏÂÃæµÄ´úÂë¾ÍÖªµÀÁË£º£©
session¶¨ÖƵIJâÊÔ´úÂë ================================================================== <? /* ------------------------------------------------------------------------ * test.php * ------------------------------------------------------------------------ * PHP4 Customer Session Handler Test Script * Version 1.00 * by Ying Zhang (ying@zippydesign.com) * Last Modified: May 21 2000 */
/* default to DBM handler */ if (! isset( $handler)) { $handler = "dbm"; }
/* default action is increment */ if (! isset( $action)) { $action = "increment"; }
/* load up the appropriate session handling script, depending on the handler */ if ( $handler == "dbm") { include("session_dbm.php");
} elseif ( $handler == "mysql") { include("session_mysql.php");
} else { echo "<li>Unrecognized handler ( $handler)"; die; }
/* start the session and register a simple counter */ session_start(); session_register("count");
/* figure out what we should do, depending on the action */ switch ( $action) { case "increment" : $count = isset( $count) ? $count + 1 : 0; break;
case "destroy" : session_destroy(); break;
case "gc" : $maxlife = get_cfg_var("session.gc_maxlifetime"); sess_gc( $maxlife); break;
default: echo "<li>Unknown action ( $action)"; break; } ?>
<h1>Session Test Script</h1> <ul> <li>Handler: <b><?= $handler?></b> <li>Action: <b><?= $action?></b> <li>Count: <b><?= $count?></b> </ul>
<hr size=1> <form> <table> <tr> <td>Handler:</td> <td> <select name="handler"> <option value="dbm">DBM</option> <option value="mysql">MySQL</option> </select> </td> </tr> <tr> <td>Action:</td> <td> <select name="action"> <option value="increment">Increment</option> <option value="destroy">Session Destroy</option> <option value="gc">Force Garbage Collection</option> </select> </td> </tr> <tr> <td></td> <td><br><input type="submit"></td> </tr> </table> </form> =======================================================================
Èý¡¢sessionÓ¦ÓþÙÀý
ÒÔÏÂÕâЩÀý×ÓÆ¬¶Ï½ö¹©²Î¿¼,Äã¿ÉÒÔ¶¨ÖÆÒ²¿ÉÒÔ²»¶¨ÖÆsession,ËæÄã±ã:) (1)ÓÃÓÚÓû§ÈÏÖ¤ <? session_start(); $dbh = mysql_connect("localhost:3306","xxxx","xxxx"); mysql_select_db("znsoft");//Ñ¡ÔñÊý¾Ý¿â $query="select userid from reguser where userid= $userid and pass= $pass "; // $userid $pass ÊǵǼform´«µÝ¹ýÀ´µÄÓû§ÃûºÍÃÜÂë $res=mysql_query( $query, $dbh); if( $row=mysql_fetch( $res)) { $reguser= $row[0]; ?> <script> alert("ok,¸çÃÇ£¬»¶ÓÄã!"); </script> <? } else { $reguser=""; ?> <script> alert("sorry,Äã²»ÊÇ×¢²áÓû§!"); </script> <?
..............//Äã×Ô¼º·ÅÉÏ´úÂë°É } session_register("reguser"); ?> ÁíÒ»Ò³ÃæÖмì²éÊÇ·ñÒѾµÇ¼ ================ <? session_start();
if(isset( $reguser)&& $reguser!="")//ÒѾµÇ¼ { echo "»¶ÓÄã,¸çÃÇ"; } else//ûÓеǼѽ echo "Çë×¢²á°É"; ?> Í˳ö¹¦ÄÜ =============================== <? session_destroy(); //»ò $reguser=""; ?>
(2)ÓÃÓÚ´«µÝ±äÁ¿
±¾³ÌÐòÓÃÓÚÔÚÒ³ÃæÖ®¼ä´«µÝ±äÁ¿ <? $name="m.y"; if(!sesion_is_registered("name"))//ûÓÐ×¢²ásession±äÁ¿ name session_register("name");//×¢²á ±äÁ¿ name ?> µÚ¶þÒ³ =================== <? echo $name;
//²»ÏëÓÃÁË£¬É¾µô°É if(session_is_registered("name"))//ÊÇ·ñ×¢²á£¬Èç¹ûÒѾע²á session_unregister("name");//µ±È»É¾µôÀ² ?>
ËÄ¡¢¸ü¶àµÄÀý×Ó£¬Äã×Ô¼ºÏë°É .......
|
Ïà¹Ø×¨Ì⣺ÔÝÎÞÏà¹Ø×¨Ìâ
ÉÏһƪ£ºÔÚphpÖбÜÃâÖØ¸´ÒýÓõİ취 ÏÂһƪ£º¼Ó¹ÌPHP»·¾³
|
¹²ÓÐÆÀÂÛ 42 Ìõ ÍøÓÑÆÀ·Ö ²é¿´È«²¿
|
|
|