| hally的档案文件's profilehally的共享空间PhotosBlogLists | Help |
|
September 05 Smarty模版技术Smarty模版技术 整个配置过程分为九步走,文章看起来比较长,那是因为站长对每一个步骤都给出了没法再详细的解释,非常浅显,绝对是名副其实的“最简明教程”。按照这个教程,智商大于零的用户都能顺利配置好Smarty!~_~ 本文适用平台: Windows系统+IIS/APACHE+PHP4/PHP5 在开始本文之前,首先得确定你的web服务器和PHP已经配置完毕并工作正常。 1、下载Smarty包 可以从官方站点下载:http://smarty.php.net 17php论坛用户可以直接从论坛下载,论坛为大家提供的是目前最新的2.6.9版本 大小:仅仅140K 压缩格式:.tar.gz 论坛下载地址:bbs.17php.com/download/smarty269.tar.gz 2、解压缩Smarty包并找到合适的位置存放.解压之后文件夹名可能是Smarty.x.x.x,把它修改成smarty(此处只为将来使用方便起见,并非必须),然后将含有Smarty文件的文件夹拷贝到某一个目录下(建议不要放在你的网站目录下,这样别人可以通过路径访问到这些文件,如果非要放在网站目录下,那最好目录的名字起的生僻一些。这些文件即使被别人访问到,也未必造成安全问题,但是一切都为了以防万一)。 在文章的下面内容中,我们都是假设你的文件放在了d:\smarty下。 3、找到你的php.ini配置文件(可以通过运行phpinfo()查看此文件路径,但一般都放在系统目录下)修改php.ini的include_path选项,把smarty的库文件路径加上,比如: include_path = ".;d:\smarty\libs" 提醒一下,php.ini中一共有两处include_path,一处是Unix下使用的,一处是windows下使用的,要修改windows下使用的: ------------------------------------------------------------- ; Windows: "\path1;\path2" include_path = ".;c:\php4\includes;d:\smarty\libs" -------------------------------------------------------------- 4、重新启动IIS/APACHE,重新启动的目的是使刚才的修改生效。 重新启动的方法很简单,APACHE直接restart即可。对于IIS,可以用net stop iiadmin命令关闭iis,然后用net start w3svc命令启动,就完成了重新启动。如果实在不会重启,就干脆重新启动计算机,这样最省事。 5、在你的网站目录下创建一个文件夹,名字任意,假设叫MySmarty: 然后再在这个MySmarty目录下创建2个文件夹,templates和configs。 创建完成之后如下: (你的网站目录)/MySmarty/templates (这个目录用来存放模版) (你的网站目录)/MySmarty/configs (这个目录用来存放一些配置信息) 6、在MySmarty目录下再创建两个文件夹,名字分别叫:smarty_cache和smarty_templates_c。为什么刚才不一起创建呢?因为这个步骤在原来的官方资料中没有,而我在配置过程中发现,如果没有这两个文件夹,smarty将无法工作,不知道是不是官方资料的smarty版本和目前最新的版本有出入的原因。但是只要配置这两个目录,Smarty便可以顺利工作。因此建议进行配置。 7、这时候你别忘了把我们上面从一开始到现在创建的四个文件夹的权限设置好。当然还包括存放smarty的文件夹d:\smarty的权限,因为有的NTFS格式的系统有严格的权限规定,你的目录创建之后还得有足够的权限才能让web程序访问。一般来说win2000和win2003下采用NTFS分区格式的系统需要做这样的设定,具体方法是在文件夹上点击右键,在“属性”中打开“安全”标签,在里面列出了可以访问这个目录的用户列表,如果没有web访问权限,则需要添加,把Internet来宾帐户和启动IIS进程帐户两个帐户都添加上即可。如果觉得麻烦,可以直接将Everyone用户组添加上,允许任何用户访问。 8、这时候安装工作基本完成,可以进行第一个简单例子的测试: 在你的网站目录下建立 index.php文件,并且在(网站目录)/MySmarty/templates/下建立index.tpl文件,分别输入以下代码 index.php <?php //载入Smarty库 require('Smarty.class.php'); $smarty = new Smarty; //下面的(你的网站目录)用绝对路径,比如d:/intepub/wwwroot $smarty->template_dir = '(你的网站目录)/MySmarty/templates'; $smarty->config_dir = '(你的网站目录)/MySmarty/config'; $smarty->cache_dir = (你的网站目录)/MySmarty/smarty_cache'; $smarty->compile_dir = (你的网站目录)/MySmarty/smarty_templates_c'; //上面四行为使用Smarty前的必要参数配置 $smarty->assign('name','跟17PHP学安装Smarty'); $smarty->display('index.tpl'); ?> index.tpl <html> <body> 你好,{ $name}! </body> </html> 9、现在终于可以观看以下自己的杰作了。运行index.php(当然是在你的web服务器上运行,和运行普通php文件完全一样。) http://localhost/index.php 这时候如果看到下面的输出结果,说明你安装成功了~~~是不是很简单呢? 你好,跟17PHP学安装Smarty! 后记:虽然到此为止Smarty的安装已经完成,但是站长还是想给大家一点小建议。在上面的小例子中,可以发现如果我们每次使用Smarty前都需要设置参数,那未免过于麻烦。这时候你可以把smarty信息设置的四行代码包裹在一个类或者一个包含文件当中。这样就不用每次使用前都首先配置信息。关于这个就是Smarty的使用知识了,本篇文章不再涉及。站长目前也处在学习过程中,等到后面再继续推出和Smarty相关的文章吧~~~ August 25 IIS5中的两种服务器端网页重定向方法在IIS5中提供了两种服务器端网页重定向(或者说转向)的方法,一个是Server.Transfer方法, 另外一个是Server.Execute方法。说它们是服务器端重定向,是因为在不同页面之间的转向是直接在服务器端完成的, 客户端只能看到结果,而不能看到转向的过程。 这同以往我们在IIS4使用的Response.Redirect 方法是不同的。 以前, 当我们需要从一个页面转向到另外一个页面的时候,我们一般都会使用Response对象的Redirect方法, 比如, 在我们的某个需要用户验证的页面,当用户没有登陆的时候, 就转到用户登陆页面,简单的例子代码如下: content.asp <% '正常的内容 %>
HTTP 1.0 302 Object Moved 这样,实际上是浏览器请求服务器的content.asp 文件,content.asp文件经过处理以后告诉浏览器,你先访问login.asp文件, 于是浏览器再向服务器发送一个到login.asp页面的请求。所以, 实际上是转了一个弯。这样, 当客户端网络状况不是很好的情况下,两次请求会大大的降低应用程序的反应速度,甚至占用多余的带宽。特别是,当需要传递参数的时候,也会有一些问题。 而在IIS5中, 提供了Server.Transfer和Server.Execute方法。 这两种方法,都是在服务器间完成转向的,因此可以减少客户端的网络带宽的占有,但是因为服务器端要保存程序1的一些状态,也会消耗一定的内存。
通过例子来说明吧,这里有两个文件,file1.asp和file2.asp 我们都是要在file1.asp里面转向到file2.asp
file1.asp <% Server.Transfer "file2.asp" Response.Write "File 1 Footer<br>" %> file2.asp <%
File 1 Header 因为,当程序遇到Transfer方法时,会停止执行后面的语句,转而执行转向的程序 当使用Execute方法时: file1.asp <% Server.Execute "file2.asp" Response.Write "File 1 Footer<br>" %> file2.asp <%
File 1 Header 因为,当程序遇到Execute方法时,会执行转向的程序,完成之后再继续执行第一页的剩下的内容。 其实Execute方法就像我们经常写的子程序一样,类似于子程序调用。
July 05 IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置网上有很多配置方法,有的比较麻烦,有的不全,其实只需要以下4步 安装前要注意:程序所需要php环境版本是否和你要装的一样! 1、把整个压缩包解压到c:\php 2、将C:\PHP\php.ini-dist这个文件改名为PHP.ini,将其copy到c:\winnt(win98为c:\windows)下,并修改里面的内容,具体如下:找到“extension_dir = ”改为“extension_dir=c:\php\extensions”;找到“cgi.force_redirect”把前面的分号去掉,设置其值为0;如果运行出现session存储路径错误,就找“session.save_path”将其设置一个有效的目录,例如:session.save_path=c:\php。 3、点击"开始 → 程序 → 管理工具 → Internet 服务管理器"打开"Internet 服务管理器",右击"默认Web站点 → 属性"打开"默认Web站点属性"窗口,在"主目录"配置页下,按"配置"按钮打开"应用程序配置"窗口,添加一个应用程序映射项,可执行文件为php.exe,文件的完整路径C:\PHP\php.exe,扩展名为.php(当然也可以改成别的,不过要注意您的PHP程序要以它为后缀),把"脚本引擎"打上勾。 4、至于mysql直接装上就好用,不用说了。 执行以上4步后就应该能运行大部分的php+mysql程序了。 IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置 一、安装 PHP : (1)下载后得到 php-5.0.4-Win32.zip ,解压至C:\php(这个路径可以随意,不过下面要是用到这个路径,请相应修改); (2)再将C:\Inetpub\php目录下的所有dll文件(主要是C:\php下,C:\php\ext下的DLL文件)拷到c:\Windows\system32下,覆盖已有的dll文件; (3)将C:\PHP目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:\Windows ( Windows 2000 下为 C:\WINNT)下; 将C:\Windows\php.ini-dist改名为php.ini,然后用记事本打开,利用记事本的查找功能搜索: ① register_globals = Off,将 Off 改成 On ② extension_dir =,将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = "C:\php\ext" ③ 将以下列举的CODE前面的”;“去掉 ;Windows Extensions ;extension=php_dbase.dll (可选) ;extension=php_gd2.dll (这个是用来支持GD库的,一般需要,必选) ;extension=php_ldap.dll (可选) ;extension=php_mbstring.dll (这不选一般用PHPMYADMIN会出红色提示,故必选) ;extension=php_mssql.dll (这个是用来支持MSSQL的,可选) ;extension=php_mysql.dll (这个是用来支持MYSQL的,要支持MYSQL必选) (4)、配置 IIS 使其支持 PHP : 首先必须确定系统中已经正确安装 IIS ,如果没有安装,需要先安装 IIS ,安装步骤如下: 打开浏览器,输入:http://localhost/,看到成功页面后进行下面的操作: PHP 支持 CGI 和 ISAPI 两种安装模式,推荐使用 ISAPI 模式。这里只解介绍 ISAPI 模式安装方法:ISAPI 模式安装步骤: 在“控制面板”的“管理工具”中选择“Internet 服务管理器”,打开 IIS 后停止服务,然后在左侧“你需要支持PHP的Web站点”比如“默认Web站点”上单击右键选择“属性”,在打开的“ Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮,在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP ,再将可执行文件指向 php5isapi.dll 所在路径,如:C:\php\php5isapi.dll 。 打开“Web 站点属性”窗口的“主目录”标签,找到并点击“配置”按钮,在弹出的“应用程序配置”窗口中找到并点击“添加”按钮,在弹出的窗口中新增一个扩展名映射,扩展名为 .php ,单击“浏览”将可执行文件指向 php5isapi.dll 所在路径,如:C:\php\php5isapi.dll,然后一路确定即可。如果还想支持诸如 .php3 ,.phtml 等扩展名的 PHP 文件,可以重复“添加”步骤。 再打开“Web 站点属性”窗口的“文档”标签,找到并点击“添加”按钮,向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档。 确定 Web 目录的应用程序设置和执行许可中选择为纯脚本,然后关闭 Internet 信息服务管理器,在命令提示符中执行如下命令: net stop w3svc net stop iisadmin net start w3svc 然后在“Internet 服务管理器”左边的“WEB服务扩展”中设置ISAPI 扩展允许,Active Server Pages 允许 打开浏览器,输入:http://localhost/,看到成功页面后,在 IIS 根目录下新建一个 phpinfo.php ,内容如下: <?php phpinfo(); ?> 二、安装 MySQL : 如果你下载的是 Windows Essentials (x86) ,将得到 mysql-4.1.11-essential-win.exe ,直接双击安装即可。这里本人安装到C:\Inetpub\MySQL,安装过程中会提示你是不是立即进行配置,选择否即可完成安装。 安装完毕后,在“开始”菜单的“运行”中输入:C:\Inetpub\MySQL\bin\mysqld-nt -install ,运行成功之后再输入:net mysql start ,将会启动 MySQL 服务;如果你还想较详细的配置 MySQL ,就请进入 C:\Inetpub\MySQL\bin 目录,运行 MySQLInstanceConfig.exe ,按提示操作即可。 如果你下载的是 Windows (x86) ,解压后双击执行 Setup.exe 即可,步骤同上。 如果你下载的是 Without installer (unzip in C:\) ,直接解压到C:\Inetpub\MySQL,在“开始”菜单的“运行”中输入: C:\Inetpub\MySQL\bin\mysqld-nt.exe ,运行成功之后再输入:net mysql start ,即可启动 MySQL 服务。 为MYSQL设置密码,确保安全: 一般菜单里面有配置向导MySQL Server Instance Config Wizar,运行后按下面步骤配置设置ROOT密码即可。 ROOT密码,建议社设置复杂点,确保服务器安全! 也可以在MySQL Command Line Client里面用命令配置: 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 修改密码。 格式:mysqladmin -u 用户名 -p 旧密码 password 新密码 例:给root加个密码maybb.net首先在DOS下进入目录mysql\bin,然后键入以下命令 mysqladmin -uroot -password maybb.net 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 然后执行: SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('maybb.net'); 这里的命令是由于MySQL 4.1 及其后版本验证协议使用的密码哈希算法与老的客户端不兼容,在PHPMYADMIN里用正确密码登陆也会提示:Client does not support authentication protocol quested by server; consider upgrading MySQL client ,所以是为后面正确使用PHPMYADMIN做准备。 这样ROOT密码就设置为maybb.net了. 三、安装 Zend Optimizer : 下载后得到 ZendOptimizer-2.5.7-Windows-i386.exe ,直接双击安装即可,安装过程要你选择 Web Server 时,选择 IIS ,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini ,点确定后安装完成。需要注意的是:如果您的PHP是4.3以上版本,那么就不要用缺省安装,而应该用定制安装并选择 PHP的版本为PHP 4.3.X,方能正确安装,否则会说版本不支持。 我这里安装到C:\Inetpub\Zend Zend Optimizer 的安装向导会自动根据你的选择来修改 php.ini 帮助你启动这个引擎。下面简单介绍一下 Zend Optimizer 的配置选项。以下为本人安装完成后 php.ini 里的默认配置代码(分号后面的内容为注释): zend_extension_ts="C:\Inetpub\Zend\lib\ZendExtensionManager.dll" ;Zend Optimizer 模块在硬盘上的安装路径。 zend_extension_manager.optimizer_ts="C:\Inetpub\Zend\lib\Optimizer-2.5.7" ;优化器所在目录,默认无须修改。 zend_optimizer.optimization_level=15 ;优化程度,这里定义启动多少个优化过程,默认值是 15 ,表示同时开启 10 个优化过程中的 1-4 ,我们可以将这个值改为 1023 ,表示开启全部10个优化过程。 调用phpinfo()函数后显示: This program makes use of the Zend Scripting Language Engine: Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies with Zend Extension Manager v1.0.9, Copyright (c) 2003-2005, by Zend Technologies with Zend Optimizer v2.6.0, Copyright (c) 1998-2005, by Zend Technologies 则表示安装成功。 四、安装GD库 这一步在前面PHP.INI配置中实际上已经安装好了~ 在php.ini里找到 "extension_dir",然后将路径指向extension,如下(假设你的php安装路 径为:C:\Inetpub\php,设置extension_dir = "C:\Inetpub\php\ext",完成这步后,在php.ini里找到"extension=php_gd2.dll"这一行,并且去掉前面的分号,gd库安装完成,用echo phpinfo();测试是否成功! 五、安装 phpMyAdmin: 下载得到 phpMyAdmin-2.6.0.zip ,将其解压到 IIS 根目录,找到并打开 config.inc.php ,做以下修改: 搜索 $cfg['PmaAbsoluteUri'],设置你的phpmyadmin的URL,如:$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/'; 注意这里假设phpmyadmin在默认站点的根目录下 搜索 $cfg['blowfish_secret'],设定好root密码后这里也要填写比如ROOT密码maybb.net则设置为$cfg['blowfish_secret'] = 'maybb.net'; 搜索 $cfg['DefaultLang'] ,将其设置为 zh-gb2312 ; 搜索 $cfg['DefaultCharset'] ,将其设置为 gb2312 ; 搜索 $cfg['Servers'][$i]['auth_type'],默认为config,是不安全的,不推荐,推荐使用cookie,将其设置为 $cfg['Servers'][$i]['auth_type'] = 'cookie'; 注意这里如果设置为config请在下面设置用户名和密码!例如: $cfg['Servers'][$i]['user'] = 'root'; // MySQL user-----MySQL连接用户 $cfg['Servers'][$i]['password'] = 'maybb.net'; 打开浏览器,输入:http://localhost/phpMyAdmin/ ,若 IIS 和 MySQL 均已启动,输入用户ROOT密码maybb.net即可浏览数据库内容。 IIS+PHP+MYSQL今日配置PHP+MYSQL+IIS,找了一些文章,都不得法,最后找了本文,很方便,关健在于配置ISS时,对.php扩展名的解释动态库是指向谁,有些文章是指向php.exe,而正确的是指向:php4isapi.dll 这个文件,切记 June 30 一个不错的asp分页类<%
'=================================================================== '使用说明
'程序参数说明 'PapgeSize 定义分页每一页的记录数 'GetRS 返回经过分页的Recordset此属性只读 'GetConn 得到数据库连接 'GetSQL 得到查询语句 '程序方法说明 'ShowPage 显示分页导航条,唯一的公用方法 ' '例: ' ' '包含文件 ' ' Set mypage=new xdownpage '创建对象 ' mypage.getconn=conn '得到数据库连接 ' mypage.getsql="select * from productinfo order by id asc" ' mypage.pagesize=5 '设置每一页的记录条数据为5条 ' set rs=mypage.getrs() '返回Recordset ' mypage.showpage() '显示分页信息,这个方法可以,在set rs=mypage.getrs()以后 ' 任意位置调用,可以调用多次 ' for i=1 to mypage.pagesize '接下来的操作就和操作一个普通Recordset对象一样操作 ' if not rs.eof then '这个标记是为了防止最后一页的溢出 ' response.write rs(0) & " '" '这里就可以自定义显示方式了 ' rs.movenext ' else ' exit for ' end if ' next ' '=================================================================== Const Btn_First="<font face='webdings'>9</font>" '定义第一页按钮显示样式
Const Btn_Prev="<font face='webdings'>3</font>" '定义前一页按钮显示样式 Const Btn_Next="<font face='webdings'>4</font>" '定义下一页按钮显示样式 Const Btn_Last="<font face='webdings'>:</font>" '定义最后一页按钮显示样式 Const XD_Align="Center" '定义分页信息对齐方式 Const XD_Width="100%" '定义分页信息框大小 Class Xdownpage
Private XD_PageCount,XD_Conn,XD_Rs,XD_SQL,XD_PageSize,Str_errors,int_curpage,str_URL,int_totalPage,int_totalRecord '================================================================= 'PageSize 属性 '设置每一页的分页大小 '================================================================= Public Property Let PageSize(int_PageSize) If IsNumeric(Int_Pagesize) Then XD_PageSize=CLng(int_PageSize) Else str_error=str_error & "PageSize的参数不正确" ShowError() End If End Property Public Property Get PageSize If XD_PageSize="" or (not(IsNumeric(XD_PageSize))) Then PageSize=10 Else PageSize=XD_PageSize End If End Property '=================================================================
'GetRS 属性 '返回分页后的记录集 '================================================================= Public Property Get GetRs() Set XD_Rs=Server.createobject("adodb.recordset") XD_Rs.PageSize=PageSize XD_Rs.Open XD_SQL,XD_Conn,1,1 If not(XD_Rs.eof and XD_RS.BOF) Then If int_curpage>XD_RS.PageCount Then int_curpage=XD_RS.PageCount End If XD_Rs.AbsolutePage=int_curpage End If Set GetRs=XD_RS End Property '================================================================
'GetConn 得到数据库连接 ' '================================================================ Public Property Let GetConn(obj_Conn) Set XD_Conn=obj_Conn End Property '================================================================
'GetSQL 得到查询语句 ' '================================================================ Public Property Let GetSQL(str_sql) XD_SQL=str_sql End Property '==================================================================
'Class_Initialize 类的初始化 '初始化当前页的值 ' '================================================================== Private Sub Class_Initialize '======================== '设定一些参数的黙认值 '======================== XD_PageSize=10 '设定分页的默认值为10 '======================== '获取当前面的值 '======================== If request("page")="" Then int_curpage=1 ElseIf not(IsNumeric(request("page"))) Then int_curpage=1 ElseIf CInt(Trim(request("page")))<1 Then int_curpage=1 Else Int_curpage=CInt(Trim(request("page"))) End If End Sub '====================================================================
'ShowPage 创建分页导航条 '有首页、前一页、下一页、末页、还有数字导航 ' '==================================================================== Public Sub ShowPage() Dim str_tmp int_totalRecord=XD_RS.RecordCount If int_totalRecord<=0 Then str_error=str_error & "总记录数为零,请输入数据" Call ShowError() End If If int_totalRecord<=PageSize then int_TotalPage=1 Else If int_totalRecord mod PageSize =0 Then int_TotalPage = CLng(int_TotalRecord / XD_PageSize) Else int_TotalPage = CLng(int_TotalRecord / XD_PageSize)+1 End If End If If Int_curpage>int_Totalpage Then int_curpage=int_TotalPage End If '================================================================== '显示分页信息,各个模块根据自己要求更改显求位置 '================================================================== response.write "" str_tmp=ShowFirstPrv response.write str_tmp str_tmp=showNumBtn response.write str_tmp str_tmp=ShowNextLast response.write str_tmp str_tmp=ShowPageInfo response.write str_tmp response.write "" End Sub '====================================================================
'ShowFirstPrv 显示首页、前一页 ' ' '==================================================================== Private Function ShowFirstPrv() Dim Str_tmp,int_prvpage If int_curpage=1 Then str_tmp=Btn_First&" "&Btn_Prev Else int_prvpage=int_curpage-1 str_tmp="<a href="&GetURL&"1>"&Btn_First&"</a> <a href="&GetURL&(Int_curpage-1)&">"& Btn_Prev&"</a>" End If ShowFirstPrv=str_tmp End Function '====================================================================
'ShowNextLast 下一页、末页 ' ' '==================================================================== Private Function ShowNextLast() Dim str_tmp,int_Nextpage If Int_curpage>=int_totalpage Then str_tmp=Btn_Next & " " & Btn_Last Else Int_NextPage=int_curpage+1 str_tmp="<a href="&GetURL&(Int_curpage+1)&">"&Btn_Next&"</a> <a href="&GetURL&int_totalpage&">"& Btn_Last&"</a>" End If ShowNextLast=str_tmp End Function '==================================================================== 'ShowNumBtn 数字导航 ' ' '==================================================================== Private Function showNumBtn() Dim i,str_tmp For i=1 to int_totalpage str_tmp=str_tmp & "[<a href="&GetURL&i&">"&i&"</a>] " Next showNumBtn=str_tmp End Function '==================================================================== 'ShowPageInfo 分页信息 '根据要求自行修改 ' '==================================================================== Private Function ShowPageInfo() Dim str_tmp str_tmp="页次:"&int_curpage&"/"&int_totalpage&"页 共"&int_totalrecord&"条记录 "&XD_PageSize&"条/每页" 'str_tmp="" ShowPageInfo=str_tmp End Function '================================================================== 'GetURL 得到当前的URL '更据URL参数不同,获取不同的结果 ' '================================================================== Private Function GetURL() Dim strurl,str_url,i,j,search_str,result_url search_str="page=" strurl=Request.ServerVariables("URL") Strurl=split(strurl,"/") i=UBound(strurl,1) str_url=strurl(i)'得到当前页文件名 str_params=Request.ServerVariables("QUERY_STRING") If str_params="" Then result_url=str_url & "?page=" Else If InstrRev(str_params,search_str)=0 Then result_url=str_url & "?" & str_params &"&page=" Else j=InstrRev(str_params,search_str)-2 If j=-1 Then result_url=str_url & "?page=" Else str_params=Left(str_params,j) result_url=str_url & "?" & str_params &"&page=" End If End If End If GetURL=result_url End Function '==================================================================== ' 设置 Terminate 事件。 ' '==================================================================== Private Sub Class_Terminate XD_RS.close Set XD_RS=nothing End Sub '==================================================================== 'ShowError 错误提示 ' ' '==================================================================== Private Sub ShowError() If str_Error <> "" Then Response.Write("" & SW_Error & "") Response.End End If End Sub End class %> |
|
|