• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        一個用session傳遞對象的典型例子,與用面向?qū)ο缶幊痰呐笥压餐窒恚ㄞD(zhuǎn)自CSDN)

        一個用session傳遞對象的典型例子,與用面向?qū)ο缶幊痰呐笥压餐窒恚ㄞD(zhuǎn)自CSDN)

        更新時間:2021-11-16 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        首先,你的session要好使,PHP4.1以上的版本別忘了把php.ini中的register_globle=Off設(shè)成register_globle=On,還有就是session.cookie_path = /,注意這行不可以亂改,有的版本PHP改了這個設(shè)置session就不好使,這是PHP的一個BUG.
        好了,我假設(shè)你的session已經(jīng)沒問題了,我對下面的例子作個說明:b.php和a.php各定義了一個類,其中a.php中的類a稍微復(fù)雜,因為它是由b.php中的類doc組成的,這叫類的組成關(guān)系.我舉的例子大概是最簡單的類組成關(guān)系的例子啦.
        c.php中產(chǎn)生了一個類a的對象叫test,并把它注冊成session變量,c.php還顯示了一個超文本的表單界面,供你輸入一個字串.點擊按鈕后,對象test被傳遞到d.php,在下面的程序中,我具體介紹了傳遞對象時要注意的事項.這個程序是可以實際運行的,它是我學(xué)習(xí)用session傳遞對象的一個小總結(jié),大家可以回去試試看,祝大家愉快.
        <?
        //a.php
        include("b.php");//包含b.php是因為doc類的定義在b.php中,而類a中的doc屬性是doc類的對象
        /**
        * Short description.
        * 一個帶有組成關(guān)系的類
        * Detail description
        * @author 
        * @version1.0
        * @copyright
        * @access public
        */
        class a
        {

         /**
         * Description 這是一個簡單變量作為類a的屬性
         * @var 
         * @since 1.0
         * @accessprivate
         */
        var $docid;

        /**
         * Description 這是一個對象變量作為類a的屬性
         * @var 
         * @since 1.0
         * @accessprivate
         */
        var $doc;


        /**
         * Short description.
         * 構(gòu)造函數(shù)
         * Detail description
         * @paramnone
         * @global none
         * @since1.0
         * @access private
         * @return void
         * @update date time
        */
        function a()//類a的構(gòu)造函數(shù),它給自己的doc屬性賦了初值
        {
        $adoc=new doc;
        $this->doc=$adoc;
        } // end func
        /**
         * Short description.
         * 給docid賦值
         * Detail description
         * @paramnone
         * @global none
         * @since1.0
         * @access private
         * @return void
         * @update date time
        */
        function getdocid()//這個函數(shù)給自己的docid屬性賦了值
        {
        $this->docid=$this->doc->id;
        } // end func

        /**
         * Short description.
         * 這個函數(shù)極簡單,就不解釋啦
         * Detail description
         * @paramnone
         * @global none
         * @since1.0
         * @access private
         * @return void
         * @update date time
        */
        function printdocid()//顯示doc對象屬性的id屬性
        {
         echo "doc->id=".$this->doc->id."<br>";

        } // end func

        } // end class
        ?>
        <?
        //b.php
        /**
        * Short description.
        * 這是一個簡單的類
        * Detail description
        * @author 
        * @version1.0
        * @copyright
        * @access public
        */
        class doc
        {

        /**
         * Description 簡單變量作為類doc的屬性
         * @var 
         * @since 1.0
         * @accessprivate
         */
        var $id;



        /**
         * Short description.
         * 這個函數(shù)顯示一個錄入界面
         * Detail description
         * @paramnone
         * @global none
         * @since1.0
         * @access private
         * @return void
         * @update date time
        */
        function scr()
        {
        screen();
        } // end func
        /**
         * Short description.
         * 這個函數(shù)把上面錄入的值入庫
         * Detail description
         * @paramnone
         * @global none
         * @since1.0
         * @access private
         * @return void
         * @update date time
        */
        function save($conn,$i)
        {
        $sql="INSERT INTO `test` (`id`, `name`) VALUES ('', '$i')";
        $result=mysql_query($sql,$conn);
        $this->id = mysql_insert_id($conn);
        } // end func
        } // end class
        ?><?
        //c.php
        include("a.php");//要產(chǎn)生類a的對象須包含定義類a的文件(注意,a.php中不能有超文本,一個空格都不行,因為session_start前面有這樣的要求;也不能包含帶有超文本的文件,如果功能要求中必須包含超文本,請做成象下面screen.php那樣的函數(shù))
        $test=new a();//產(chǎn)生一個類a的對象,取名test
        session_start();
        session_register('test');//把對象變量注冊成session變量以便傳遞
        include("screen.php");//這時再包含帶有超文本的文件
        $test->doc->scr();//調(diào)用界面顯示

        ?><?
        //d.php
        include("a.php");//要想用session接受前面?zhèn)鬟f的對象變量,必須在session_start()前包含定義該類的文件
        session_start();
        include("conn.php");//此文件中定義了下句用到的connect()函數(shù)的定義
        $conn=connect();
        echo "i=$i<br>";
        $test->doc->save($conn,$i);//這個test對象是在c.php中建立,并通過session傳遞過來的,它是這段程序顯示的目的所在, 請注意體會;test對象的屬性和方法被session傳遞后,依然有效
        $test->getdocid();
        $test->printdocid();
        ?>
        <html>
        <head>
        <title>Untitled Document</title>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        </head>

        <body bgcolor="#FFFFFF" text="#000000">
        <a href="c.php">return</a>
        </body>
        </html><!--到此為止都是d.php文件中的-->
        <?
        //conn.php

        /**
        * Short description.
        * 這就是一個普通的mysql連接函數(shù),沒什么特別的
        * Detail description
        * @paramnone
        * @global none
        * @since1.0
        * @access private
        * @return void
        * @update date time
        */
        function connect() 
        {$conn=mysql_connect("localhost","","");
        mysql_select_db("test",$conn);
        return $conn;
        } // end func

        ?>
        <?
        //screen.php
        /**
        * Short description.
        * 把這些超文本被作為一個函數(shù)的原因,是為了在其他PHP文件中不包含超文本,達(dá)到PHP程序和超文本分離的目的
        * Detail description
        * @paramnone
        * @global none
        * @since1.0
        * @access private
        * @return void
        * @update date time
        */
        function screen()
        {
        ?>
        <FORM METHOD=POST ACTION="d.php">
        <INPUT TYPE="text" NAME="i">
        <INPUT TYPE="submit">
        </FORM>
        <?
        } // end func
        ?>
        希望上面的例子能被加到FAQ,回頭我就不用老是自己保存著這個程序啦 ^_^

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲自偷自偷偷色无码中文| mm1313亚洲精品无码又大又粗| 国产亚洲一区二区三区在线| 久青草国产免费观看| 国产在线19禁免费观看国产| 国产成人精品久久亚洲高清不卡| 永久黄网站色视频免费观看| 国产精品亚洲专一区二区三区| 免费人成网站在线高清| 一级女人18片毛片免费视频| 国产亚洲精品看片在线观看| 中文字幕无线码免费人妻| 亚洲国产精品一区二区成人片国内| 久久国产精品免费网站| 91亚洲视频在线观看| 成人免费无毒在线观看网站| 亚洲AV无码片一区二区三区 | 亚洲制服在线观看| 无码中文在线二区免费| 亚洲精品无码专区| 亚洲精品成人a在线观看| 国产日韩精品无码区免费专区国产| 亚洲人成精品久久久久| 天天影院成人免费观看| 亚洲色偷精品一区二区三区| 亚洲AV无码乱码精品国产| 成人网站免费看黄A站视频| 亚洲精品国产福利片| 国产精品免费视频一区| 精品国产污污免费网站入口在线 | 国产亚洲综合成人91精品 | 亚洲精品在线视频观看| www.999精品视频观看免费| 免费人成再在线观看网站| 国产av无码专区亚洲av桃花庵| 日韩免费一区二区三区在线| 白白色免费在线视频| 久久久无码精品亚洲日韩按摩| 国产免费观看黄AV片| 伊人久久免费视频| 久久亚洲精品无码av|