发布新日志

  • [论坛] Javascript编写Asp时需要注意的一些地方

    2007-04-11 13:49:48

    论坛里面有不少人在使用Javascrīpt编写Asp,经常有人在论坛提问,为什么Asp对象在对比指定值时返回结果不对?现在在这里给大家写点关于使用Javascrīpt编写Asp一些需要注意的地方。
    最常见的问题:[php]Response.Write(Request.Form("Key") == "")[/php]返回的结果怎么都是"False"。在这里,我们使用typeof就可以发现:Request.Form("Key")返回的其实是一个object类型对象,而不是最终的值。所以,我们需要取出最终的值才能够做出正确的判断。可以使用如下解决方法:[php]var Nothing;        // 兼容不存在undefined的老版本jscrīpt
    Response.Write(Request.Form("Key").Item == Nothing);
    Response.Write(Request.Form("Key").Item === Nothing);
    // IE 5.5 之后undefined已经是一个常量,可直接访问(Jscrīpt版本是跟随IE升级的)
    Response.Write(Request.Form("Key").Item == undefined);
    Response.Write(Request.Form("Key").Item === undefined);
    Response.Write(Request.Form("Key").Item == null);[/php]所以,取值时我们如果使用完整的取值方式,就不会出现那些奇怪的现象。

    下面说一些Asp中取值的例子:

    QUOTE:

    例:Request.Form("Key")
    取值:Request.Form.Item("Key").Item
    或:Request.Form("Key").Item
    注意这里的Request.Form.Item,直接当属性访问时返回的是一个字符串对象(值类型),作为一个js的“function”使用时返回的是一个object。
    Request.Cookies、Request.QueryString、Request.ServerVariables的取值写法同上。
    vbs中的简写Request("Key")在javascrīpt中,对应的是Request.Item("Key")

    QUOTE:

    例:rs("FiledName")
    取值:rs.Fields.Item("FiledName").Value
    或:rs.Fields("FiledName").Value
    或:rs("FiledName").Value
    下面说一下Session和Application。
    我们常用的Session("Key"),返回的已经是最终值了,所以这个方法可以放心使用。顺便也提一下,Session的完整写法应该是:
    Session.Contents.Item("Key")
    也可以写成
    Session.Contents("Key")
    Contents对象好像有点多余,其实并非如此,某些时候我们还是需要用到它的,主要是用于Session的枚举和Session的Remove操作。如:[php]Session.Contents.Remove("Key");
    Session.Contents.RemoveAll()[/php]Abandon方法不属于Contents,它是直接属于Session的一个方法,使用时需要注意这个。
    Application同样也存在Contents对象,用法和Session相同。

    下面说一下Js枚举Asp对象。
    我们有时可能想知道,客户端到底提交了一些什么数据?Application或Session中存在一些什么数据?
    在js中,我们通常使用for...in方式获取一个对象的所有属性,但是,在Asp中,这个方式对于Asp对象就无能为力了。怎么办呢?这个时候,我们可以使用枚举(Enumerator)来获取:[php]var app = new Enumerator(Application.Contents);
    var arr = new Array;
    while(!app.atEnd())
    {
            var value = Application.Contents.Item(app.item());
            if(typeof value == "unknown") value = typeof value;
            else value += " (" + typeof value + ")";
            arr.push(app.item() + " : " + value);
            app.moveNext();
    }
    Response.Write(arr.join("<br>"));[/php]就写这些了,希望对刚刚开始学使用js编写asp的朋友们有些帮助。

    [ 本帖最后由 Rimifon 于 2007-4-11 13:32 编辑 ]
  • [论坛] 发个无限级XML绑定跨框架菜单(For IE)

    2007-01-25 12:25:31

    不是很完善,但是能够应付基本的使用了
    演示: http://test.empiresoft.net.cn:4/Test/MenuDemo/index.html (如果不能访问,可能是你的DNS服务器不支持别名解析)

    使用方法:
    var menu = new Rimifon.Web.Menu();
    menu.DataSource = "menu.xml";
    menu.DataBind(document.body); //将菜单绑定到document.body内。

    xml数据格式:[php]<?xml version="1.0" encoding="utf-8" ?>
    <MainMenu>
            <MenuItem Text="文件(F)" PID="0" MID="1" />
            <MenuItem Text="新建(N)" PID="1" MID="2" Click="alert(this.innerHTML)" />
            <MenuItem Text="-" PID="1" MID="3" />
            <MenuItem Text="打开(O)" PID="1" MID="4" Href="http://www.baidu.com" />
            <MenuItem Text="编辑(E)" PID="0" MID="5" />
    </MainMenu>[/php]

    [ 本帖最后由 Rimifon 于 2007-1-25 12:11 编辑 ]

    MenuDemo.rar
    (2007-01-25 12:03:36, Size: 2.56 kB, Downloads: 1)

  • [论坛] 个人总结的一些关于String、Function、Array的属性和用法

    2007-01-10 12:23:39

    [php]/* Array */
    Array.reverse()                                //数组反向排序,变成新数组。
    Array.sort()                                //把数组按字符排序,变成新数组。
    s=Array.push("str1","str2")                //从后面添加数组,s为添加记录
    s=Array.pop()                                //从后面删除数组,s为被删记录
    s=Array.shift()                                //从前面删除数组,s为被删记录
    s=Array.unshift("str1","str2")                //从前面添加数组,s为添加记录
    s=Array.splice(3,2,"aa","bb")                //从数组的第三个后面开始,向后删除两个数组,并在该位置添加新的数组。s为添加记录
    s=Array.slice(2,4)                        //从数组的第二个后面开始取值,取到第四个,数组本身未改变。
    s=Ar1.concat(Ar2)                        //把数组Ar2添加到数组Ar1内,产生新数组s。
    s=Array.join("#")                        //把数组元素用#连接,形成字符串并返回给s。

    /* Function */
    Sample:function Test(arg1,arg2)
    Use:Test("ddd", "sss", "fff")
    Test.arity:                                //函数设定的参数个数(返回数值)。
    arguments:                                //实际传入的参数个数(返回数组)。
    Test.caller:                                //调用Test()的函数(返回函数)。
    (new Test).constructor:                        //查看新实例(Test())的构造(返回函数)。
    Test.apply(this, arguments)                //使得当前的“类”具有Test的属性和方法。

    /* String */
    Str.slice(3,-5)                                //从第三个字符串后面开始取值,取到第-5个(倒数第五个。参数二需大于参数一,或为负)。
    Str.substring(3,6)                        //从第三个字符串后面开始取值,取到第6个。
    Str.substr(3,6)                                //从第三个字符串后面开始取值,向后取6个字符。
    Str.charCodeAt(4)                        //返回第5个字符串的10进制编码。
    Str.charAt(4)                                //返回第5个字符串。
    Str.toLowerCase()                        //全部转化成小写字符。
    Str.toUpperCase()                        //全部转换成大写字符。
    Str.split(",")                                //使用“,”分割字符串,并返回数组。
    Str.search("aaa")                        //查找aaa在字符串中的位置,一般和正则表达式一起使用。
    Str.indexOf("aaa")                        //查找aaa在字符串中的位置。
    Str.lastIndexOf("aaa")                        //从后面开始查找"aaa"在字符串中出现的位置。
    Str.match("aaa")                        //从Str中取出"aaa",返回null或数组,一般和正则表达式一起使用。
    Str.replace("aaa","bbb")                //把第一个“aaa”替换成“bbb”,一般和正则表达式一起使用。
    String.fromCharCode(39080)                //返回一个10进制编码生成的字符。
    str1=str2.concat(str3)                        //将str3添加到str2生成新的字符串str1。[/php]

    [ 本帖最后由 Rimifon 于 2007-1-10 12:17 编辑 ]
  • [论坛] Asp实现全站静态文件检索

    2006-12-14 09:55:51

    Asp实现全站搜索可以使用索引服务,但是需要主机管理员配置索引服务目录和权限。

    这里提供一个使用微软指令“findstr”来实现全站搜索的方法。[php]<%@language="javascrīpt"%><%
    var Rs = Request.QueryString.Item;
    if(Rs)
    {
            var Cmd = Server.CreateObject("Wscrīpt.Shell");
            var ōbj = Cmd.Exec(Server.MapPath("findstr.exe") +
                    " /s /i /m /c \"" + Rs + "\" \"" +
                    Server.MapPath("/") + "\\*.*\"").StdOut;
            Rs = Obj.ReadAll();
            Obj.Close();
    }
    %><html>
    <head><head><title>文件搜索</title></head>
    <body>
    <IsIndex prompt="请输入搜索关键字:">
    搜索目录:<%=Server.MapPath("/")%>
    <pre><%=Rs%></pre></body></html>[/php]注意:需要将findstr.exe文件上传到同目录下。一般情况下,系统目录下(System32)的.exe文件不被允许运行。

    [ 本帖最后由 Rimifon 于 2006-12-14 09:12 编辑 ]
  • [论坛] 小明的临终遗言……

    2006-12-06 15:55:53

    小明是一个很混的小孩

    他爸爸担心他的成绩,就跟他说,

    如果考上一间好的国中,就给他一个愿望。

    於是小明就很认真,

    结果果然考上了一间很有名的国中。

    他爸就说:我可以给你一个愿望

    小明就说:什麽愿望都可以吗''

    他爸就说:没错,什麽愿望都可以!

    小明就说:那我要三根不同颜色的羽毛。

    他爸觉得很奇怪

    小明为什麽不要一些别的东西

    偏要三根不同颜色的羽毛呢??

    不过他还是去找了三根不同颜色的羽毛,给了小明。

    小明就很高兴。

    上了国中以後

    小明还是很混很混,都不念书。

    他爸又开始担心他,考不上一间好的高中

    於是就跟小明说,如果小明考上一所好的高中

    他就要给小明一个愿望。

    小明听了,就开始认真念书

    果然小明又考上一所非常理想的高中

    他爸就跟他说,可以给他一个愿望。

    小明问:真的什麽愿望都可以吗''

    他爸就说:没错,什麽愿望都可以~~

    小明就跟他爸说:那我要三根不同颜色的羽毛

    他爸觉得很奇怪

    为什麽小明要三根不同颜色的羽毛?

    不过他还是去找了三根不同颜色的羽毛,给小明

    小明就很高兴。

    後来上了高中

    小明还是一直不念书,每天都在玩

    他爸就很紧张,怕他没有大学念

    就跟小明说,如果小明考上一所好的大学

    他就可以让小明有一个愿望。

    小明听到後,又开始努力起来

    後来大学联考放榜

    果然小明又考上一间很好的大学。

    他爸就说:我可以给你一个愿望。

    小明就说:真的什麽愿望都可以吗?

    他爸就说:没错,什麽愿望都可以。

    小明就说:我要三根不同颜色的羽毛

    小明的爸又觉得很奇怪

    为什麽小明不要别的东西

    为什麽小明要三根不同颜色的羽毛?

    不过反正又没有多困难

    他爸就给他三根不同颜色的羽毛

    小明就很高兴。

    後来上了大学

    小明每天都骑着车到处出去玩

    有一天小明出车祸了,被送到医院後

    他爸去看他

    医生说小明已经快不行了

    他爸就跟小明说:在你死前,我可以再给你一个愿望

    小明就说:真的什麽愿望都可以吗''

    他爸就说:没错,什麽愿望都可以。

    小明就说:我要三根不同颜色的羽毛

    小明的爸就想说,这次给小明羽毛之後

    一定要问清楚,为什麽小明一直要三根不同颜色的羽毛''

    後来小明的爸爸找到三根不同颜色的羽毛後。

    给了小明

    小明拿到以後,就觉得很高兴。

    小明的爸爸就问他说:

    小明,你每次都要三根不同颜色的羽毛,我给你了

    那你要跟我说,你为什麽要三根不同颜色的羽毛''

    小明就说:











    因..........为............我.............
  • PHP+Access单文件文章管理系统

    2006-10-24 23:21:58

    运行环境:Windows平台 + PHP5

    第一次访问自动建立Access数据库,实现了分页、数据库压缩等。

    所有查询语句全部采用了Access的“存储过程”。(使用了一个自己用Javascrīpt编写的数据库操作组件:D没想到Javascrīpt还可以用于PHP的服务器端脚本吧?)

    演示:http://www.fengyun.org/Test/PHP/Article.php
     
    Code:

    <?php
    Session_Start
    ();
    //====================
    //作者:Rimifon
    //网址:http://bbs.51js.com
    //时间:2006.09
    //联系:QQ5029111
    //====================
    $AdminPass = "admin"
    ;
    $DbPath = RealPath(".")."\\".SubStr(Base64_Encode(MD5($_ENV["COMPUTERNAME"])), 0, 8).".mdb"
    ;
    //=====================
    //初始化数据库操作对象
    //=====================
    Try
    {
        
    $DB = new COM("scrīpt:http://www.zope.org/Members/Rimifon/DbHelper.sct#DataHelper"
    );
    }
    Catch(
    Exception $Err
    )
    {
        Die(
    "您的服务器没有权限从HTTP获取组件,请改为本地获取方式。行数:".$Err->GetLine
    ());
    }
    $DB->ConnStr = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=".$DbPath
    ;
    if(!
    File_Exists($DbPath)) InitDb
    ();
    //=====================
    //初始化变量
    //=====================
    $MoKuai = $_GET["MoKuai"
    ];
    $IsAdmin = $_SESSION["Access"]=="Admin"
    ;
    If(
    $_GET["MoKuai"] == "Login" && $IsAdmin
    )
    {
        
    Session_Unset("Access"
    );
        
    $IsAdmin = 0
    ;
    }
    //=====================
    //后台处理
    //=====================
    If($_SERVER["REQUEST_METHOD"] == "POST"
    )
    {
        switch(
    $MoKuai
    )
        {
            case
    "Login":    
    # 处理登录
                
    if($_POST["AdminPass"] == $AdminPass
    )
                {
                    
    $_SESSION["Access"] = "Admin"
    ;
                    
    Header("Location:?MoKuai=FenLei"
    );
                }
                else
                {
                    
    $Info = "密码错误"
    ;
                }
                break;
            case
    "FenLei":    
    # 分类维护
                
    If(!$IsAdmin
    )
                {
                    
    Header("Location:?"
    );
                    Die();
                }
                switch(
    $_POST["CaoZuo"
    ])
                {
                    case
    "添加分类"
    :
                        
    $DB->NonQuery("TianJiaFenLei '".SqlVar("MingCheng")."',".(SqlVar("PaiXu")*1
    ));
                        
    $Info = "添加了一个分类"
    ;
                        break;
                    case
    "删除"
    :
                        
    $DB->NonQuery("ShanChuFenLei ".(SqlVar("ID")*1
    ));
                        
    $Info = "删除了该分类和该分类下的文章"
    ;
                        break;
                    default:
                        
    $DB->NonQuery("XiuGaiFenLei ".(SqlVar("ID")*1).",'".SqlVar("MingCheng")."',".(SqlVar("PaiXu")*1
    ));
                        
    $Info = "分类修改成功"
    ;
                        break;
                }
                break;
            case
    "BianJi":    
    # 文章编辑
                
    $IsEdit = SqlVar("ID") * 1
    ;
                
    $Rs = $DB->RecordSet
    ();
                
    $Rs->Open("select 1"
    );
                
    $Rs->Close
    ();
                
    $Cmd = $Rs->ActiveCommand
    ;
                
    $Cmd->CommandType = 4
    ;
                
    $Cmd->CommandText = $IsEdit?"XiuGaiWenZhang":"TianJiaWenZhang"
    ;
                if(
    $IsEdit)$Cmd->Parameters->Append($Cmd->CreateParameter("@ID", 3, 1, 10, $IsEdit
    ));
                
    $Cmd->Parameters->Append($Cmd->CreateParameter("@BiaoTi", 200, 1, 254, SqlVar("BiaoTi", 0
    )));
                
    $Cmd->Parameters->Append($Cmd->CreateParameter("@FenLei", 3, 1, 10, SqlVar("FenLei")*1
    ));
                
    $Cmd->Parameters->Append($Cmd->CreateParameter("@ZuoZhe", 200, 1, 50, SqlVar("ZuoZhe", 0
    )));
                
    $Cmd->Parameters->Append($Cmd->CreateParameter("@NeiRong", 203, 1, -1, SqlVar("NeiRong", 0
    )));
                
    $Cmd->Execute
    ();
                
    $Rs->ActiveConnection->Close
    ();
                
    Header("Location:?MoKuai=LieBiao"
    );
                Die();
                break;
            case
    "LieBiao"
    :
                For(
    $C=0; $C<Count($_POST["ID"]);$C++) $DB->NonQuery("ShanChuWenZhang ".($_POST["ID"][$C]*1
    ));
                
    $Info = "完成".Count($_POST["ID"])."条数据的删除操作"
    ;
                break;
            default:
                break;
        }
    }
    $FenLeiArr = $DB->DataSet("MoKuaiLieBiao"
    );
    function
    SqlVar($Arg, $Need=1
    )
    {
        
    $Arg = Str_Replace("\\\\", "\\", HtmlSpecialChars($_POST[$Arg
    ]));
        
    $Arg = Str_Replace("\\'", "'", $Arg
    );
        If(
    $Need)$Arg = Str_Replace("'", "''", $Arg
    );
        return
    Str_Replace("\\&quot;","&quot;", $Arg
    );
    }
    //=====================
    //查询文章分类
    //=====================
    function ShowFenLei
    ()
    {
        Global
    $FenLeiArr
    ;
        For(
    $C=0; $C<$FenLeiArr->length; $C
    ++)
        {
            
    $FenLei = $FenLei."<a href=\"?FenLei=".$FenLeiArr->{$C}->ID
    .
                
    "\">".$FenLeiArr->{$C}->MingCheng."</a>\r\n"
    ;
            If(
    $C < $FenLeiArr->length-1) $FenLei = $FenLei."| "
    ;
        }
        return
    $FenLei
    ;
    }
    //======================
    //第一次执行建立数据库
    //======================
    function InitDb
    ()
    {
        Global
    $DB, $Info
    ;
        
    $DB->CreateAccess
    ();
        
    $DB->NonQuery("create table MoKuai(ID counter primary key, MingCheng varchar(50), PaiXu int)"
    );
        
    $DB->NonQuery(
    "create table WenZhang(ID counter, BiaoTi varchar(254),
            FenLei int,NeiRong memo,ZuoZhe varchar(50), LiuLan int not null default 0,
            ShiJian DateTime not null default now,
            ConsTraint FK_FenLei Foreign Key (FenLei) References MoKuai On Delete CasCade)"
    );
        
    $DB->NonQuery(
    "create procedure MoKuaiLieBiao as
            (select ID,MingCheng,PaiXu from MoKuai order by PaiXu)"
    );
        
    $DB->NonQuery(
    "create procedure TianJiaFenLei(@MingCheng varchar(50),@PaiXu int) as
            (insert into MoKuai(MingCheng, PaiXu) Values(@MingCheng, @PaiXu))"
    );
        
    $DB->NonQuery(
    "create procedure ShanChuFenLei(@BH int) as
            (delete from MoKuai where ID=@BH)"
    );
        
    $DB->NonQuery(
    "create procedure XiuGaiFenLei(@BH int,@MC varchar(50),@PX int) as
            (update MoKuai set MingCheng=@MC,PaiXu=@PX where ID=@BH)"
    );
        
    $DB->NonQuery(
    "create procedure TianJiaWenZhang(@BT varchar(254),@FL int,@ZZ varchar(50),@NR memo) as
            (insert into WenZhang(BiaoTi,FenLei,ZuoZhe,NeiRong) Values(@BT,@FL,@ZZ,@NR))"
    );
        
    $DB->NonQuery(
    "create procedure XiuGaiWenZhang(@BH int,@BT varchar(254),@FL int,@ZZ varchar(50),@NR memo) as
            (update WenZhang set BiaoTi=@BT,FenLei=@FL,ZuoZhe=@ZZ,NeiRong=@NR where ID=@BH)"
    );
        
    $DB->NonQuery(
    "create procedure WenZhangLieBiao as (select A.ID,A.BiaoTi,B.MingCheng,A.ZuoZhe,A.LiuLan,A.ShiJian
            from WenZhang A,MoKuai B where A.FenLei=B.ID order by A.ShiJian desc)"
    );
        
    $DB->NonQuery(
    "create procedure ShanChuWenZhang (@BH int) as
            (delete from WenZhang where ID=@BH)"
    );
        
    $DB->NonQuery(
    "create procedure DuQuWenZhang(@BH int) as (select A.ID,A.BiaoTi,A.FenLei,B.MingCheng,A.ZuoZhe,
            A.LiuLan,A.NeiRong,A.ShiJian from WenZhang A,MoKuai B where A.ID=@BH and B.ID=A.FenLei)"
    );
        
    $DB->NonQuery(
    "create procedure FangWenZengJia(@BH int) as
            (update WenZhang set LiuLan=LiuLan+1 where ID=@BH)"
    );
        
    $DB->NonQuery(
    "create procedure FenLeiLieBiao(@BH int) as (select A.ID,A.BiaoTi,B.MingCheng,A.ZuoZhe,A.LiuLan,A.ShiJian
            from WenZhang A,MoKuai B where A.FenLei=B.ID and B.ID=@BH order by A.ShiJian desc)"
    );
        
    $Info = "成功建立了数据库"
    ;
    }
    ?><html><head><title>風雲工作室文章系统(PHP+Access)</title>
    <meta http-equiv="content-type" content="text/html;charset=gb2312">
    </head><body>
    <!-- Your Page Header Here -->
    <?php
    If($IsAdmin && $_GET["MoKuai"]!=""
    )
    {
        Echo <<<HTML
    <div><b>管理选项:</b>
    <a href="?MoKuai=FenLei">分类维护</a>
    | <a href="?MoKuai=LieBiao">文章列表</a>
    | <a href="?MoKuai=BianJi">文章录入</a>
    | <a href="?MoKuai=YaSuo">数据压缩</a>
    | <a href="?">返回首页</a>
    | <a href="?MoKuai=Login">退出登录</a></div>
    HTML;}
    else
    {
        
    $ShowFenLei = ShowFenLei
    ();
        
    $LoginParam = $IsAdmin?"FenLei":"Login"
    ;
        Echo <<<HTML
    <div><b>导 航 栏:</b>$ShowFenLei
    | <a href="?">全部文章</a>
    | <a href="?MoKuai=$LoginParam">后台管理</a></div>
    HTML;}?><hr>
    <div align="center"><font color="red"><?=$Info?></font></div>
    <?php
    switch($MoKuai
    )
    {
    //======================
    //登录页面
    //======================
        
    case "Login"
    :
            Echo <<<HTML
    <div align="center">
        <form method="post">请输入管理密码:
            <input type="password" name="AdminPass">
            <input type="submit" value="登录">
        </form>
    </div>
    HTML;        break;
    //======================
    //文章分类管理
    //======================
        
    case "FenLei"
    :
            Echo <<<HTML
    <table><tr><th>名称</th><th>排序</th><th>操作</th></tr>
    <tr><form method="post"><input type="hidden" name="ID" value="0">
    <td><input size=50 name="MingCheng"></td>
    <td><input size=3 name="PaiXu"></td>
    <td><input type=submit value="添加分类" name="CaoZuo"></td>
    </form></tr>
    HTML;For($C=0; $C<$FenLeiArr->length; $C
    ++)
    {
    ?><tr><form method="post"><input type="hidden" name="ID" value="<?=$FenLeiArr->{$C}->ID?>">
    <td><input size=50 value="<?=$FenLeiArr->{$C}->MingCheng?>" name="MingCheng"></td>
    <td><input size=3 value="<?=$FenLeiArr->{$C}->PaiXu?>" name="PaiXu"></td>
    <td><input type=submit value="修改" name="CaoZuo">
    <input type=submit value="删除" name="CaoZuo"></td>
    </form></tr><?}?></table>
    <?        
    break;
    //======================
    //文章列表管理
    //======================
        
    case "LieBiao":
    ?>
    <table border><caption>文章列表</caption>
    <tr><th>编号</th><th>标题</th><th>分类</th><th>作者</th><th>浏览</th><th>操作</th></tr>
    <form method="post">
    <?php
    $Ds
    = $DB->DataSet("WenZhangLieBiao", 25, $_GET["Page"
    ]);
    For(
    $C=0; $C<$Ds->length; $C
    ++)
    {
    ?><tr>
        <td><?=$Ds->{$C}->ID?></td>
        <td><a href="?MoKuai=BianJi&ID=<?=$Ds->{$C}->ID?>"><?=$Ds->{$C}->BiaoTi?$Ds->{$C}->BiaoTi:"无标题"?></a></td>
        <td><?=$Ds->{$C}->MingCheng?></td>
        <td><?=$Ds->{$C}->ZuoZhe?></td>
        <td><?=$Ds->{$C}->LiuLan?></td>
        <td><input type="checkbox" name="ID[]" value="<?=$Ds->{$C}->ID?>"></td>
    </tr><?}
    ?>
    <tr><td colspan="5">共 <?=$Ds->PageCount?> 页,当前为第 <?=$Ds->AbsolutePage?> 页。
    <a href="?MoKuai=LieBiao">首页</a> <a href="?MoKuai=LieBiao&Page=<?=$Ds->AbsolutePage-1?>">上页</a>
    <a href="?MoKuai=LieBiao&Page=<?=$Ds->AbsolutePage+1?>">下页</a> <a href="?MoKuai=LieBiao&Page=<?=$Ds->PageCount?>">末页</a></td>
    <td><input type="submit" value="删除"></td></tr>
    </form></table>
    <?        
    break;
    //======================
    //文章编辑界面
    //======================
        
    case "BianJi"
    :
            
    $GetID = $_GET["ID"]*1
    ;
            If(
    $GetID
    )
            {
                
    $Ds = $DB->DataSet("DuQuWenZhang $GetID"
    );
                
    $ZuoZhe = $Ds->{0}->ZuoZhe
    ;
                
    $BiaoTi = $Ds->{0}->BiaoTi
    ;
                
    $NeiRong = $Ds->{0}->NeiRong
    ;
                
    $FenLei = $Ds->{0}->FenLei
    ;
            }
            If(
    $FenLeiArr->length
    )
            {
                Echo <<<HTML
    <table border><caption>文章编辑界面</caption>
    <form method="post"><input type="hidden" name="ID" value="$GetID">
    <tr><th>标题</th><td><input name="BiaoTi" size="50" value="$BiaoTi"></td></tr>
    <tr><th>分类</th><td><select name="FenLei">
    HTML;For($C=0; $C<$FenLeiArr->length;$C
    ++)
    {
        Echo
    "<option value=\x22".$FenLeiArr->{$C}->ID."\x22".($FenLei==$FenLeiArr->{$C}->ID?" selected":"").">".$FenLeiArr->{$C}->MingCheng."</option>"
    ;
    }
    Echo <<<HTML
    </select></td></tr>
    <tr><th>作者</th><td><input name="ZuoZhe" value="$ZuoZhe"></td></tr>
    <tr><th>内容</th><td><textarea name="NeiRong" cols=50 rows=13>$NeiRong</textarea></td></tr>
    <tr><th colspan="2"><input type="submit" value="提交"></th></tr>
    </form></table>
    HTML;        }
            Else
            {
                Echo
    "目前没有分类,请先添加分类"
    ;
            }
            break;
        case
    "YaSuo"
    :
            If(
    $IsAdmin
    )
            {
                
    $Info = $DB->CompactAccess
    ();
                Echo
    $Info?$Info:"数据库压缩成功"
    ;
            }
            break;
    //======================
    //默认页面
    //======================
        
    default:
            
    $GetID = $_GET["ID"]*1
    ;
            If(
    $GetID
    )
            {
                
    $DB->NonQuery("FangWenZengJia $GetID"
    );
                
    $Ds = $DB->DataSet("DuQuWenZhang $GetID"
    );
                If(!
    $Ds->length) Echo "文章不存在"
    ;
                Else
                {
    ?>
    <table border cellpadding="20"><tr><td>
    <a href="?FenLei=<?=$Ds->{0}->FenLei?>"><?=$Ds->{0}->MingCheng?></a>
    - <?=$Ds->{0}->BiaoTi?><h3 align="center"><?=$Ds->{0}->BiaoTi?></h3>
    <div align="center">浏览次数:<?=$Ds->{0}->LiuLan?></div>
    <p><?=Str_Replace(" ", "&nbsp;", Str_Replace("\r\n", "<br>\r\n", $Ds->{0}->NeiRong))?></p>
    <div align="right">作者:<?=$Ds->{0}->ZuoZhe?><br>发表时间:<?=$Ds->{0}->ShiJian?></div>
    </td></tr></table>
                <?
    }
            }
            Else
            {
                
    $GetFenLei = $_GET["FenLei"]*1;
    ?>
    <table border><caption>文章列表</caption>
    <tr><th>编号</th><th>标题</th><th>分类</th><th>作者</th><th>浏览</th></tr>
    <?php
                $Ds
    = $DB->DataSet($GetFenLei?"FenLeiLieBiao ".($GetFenLei*1):"WenZhangLieBiao", 25, $_GET[

我的栏目

数据统计

  • 访问量: 2669
  • 日志数: 6
  • 建立时间: 2006-10-24
  • 更新时间: 2007-04-11

RSS订阅