1.简介这是一部指导我们如何使用PearDB扩展。PearDB,提供这样一系列的类:n数据库抽象n高级错误处理机制n以及其它2.下载、安装Pear由于现在Pear项目仍处于紧锣密鼓的开发之中,所以得到它的最好办法就是从CVS获得(PearDB发行包已经跟随PHP4.0.6以后版本捆绑发布)。所以,我们只需要把Pear的根目录放到php.ini配置文件include_path中。也可以通过这样设置:_set('include_path','/pear_base_dir').以下是strpbystep示例:存放Pear的目录:#cd/usr/local/lib用“phpfi“口令登录:#cvs-d...
http://www.jb51.net//article/16554.htm
来看看效果图对比:字符验证码:→加法验证码:优点:①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别。即使是中文验证码,也能被市面上的部分广告机识别。②与中文验证码相比,避免了用户输入用户名密码验证码的时候需要切换输入法的麻烦。有兴趣的朋友,还可以扩展为其他的运算,比如乘法,减法,乘方等。使用方法:将以下代码保存为Dv_GetCode.asp文件,替换动网论坛的该文件。背景色、字体颜色可在代码中修改。说明:该程序需要网站空间支持ASPJpeg组件、楷体_GB2312字体。后续我会发布一个不需要组件及字体支持的版本,有兴趣者请关注我的博客。[code]<%'====...
http://www.jb51.net//article/16516.htm
google找到这样一个解决方法:在上传控件中插入了值,就只能通过form的reset功能来清空了,但是form里面其他的值也被reset了。既然可以使用form的reset清空,那就有办法了:新建一个临时form,然后将需要清空的上传控件移入其中,reset之后,再移回原来所在位置,最后删除创建的临时form。js代码: [code]varUpload={clear:function(id){varup=(typeofid=="string")?document.getElementById(id):id;if(typeofup!="object")returnnull;vartt...
http://www.jb51.net//article/16472.htm
简单介绍不必关心链接!不必关心请求(httprequest)到了哪里!不必关心响应(httpresponse)要转向哪里!Tapestry构建于底层的request-resonse模式,基于Servlet技术,抽象出面向组件开发的模型。Tapestry关心的是:页面、组件、事件、对象、方法、属性!安装jar包1、将Tapestry解压目录下的lib目录中的jar包拷贝到WEB-INF/lib目录。并将重复的包删除(commons-logging.jar/javassist.jar/ognl-2.6.11.jar)2、在web.xml中添加:[code]<servlet><se...
http://www.jb51.net//article/16395.htm
其实加在一起有几十个,但因为需要操作的数据比较多,就在后面加了一段小程序来解决.可以处理昨天没有处理到的数据,具体如下:[code]$handle=mysql_connect("host","user","password");if(!$handle||!(mysql_select_db("databasename",$handle)))exit();$sql='selectskype_idfromskype_prizewhereprize_id=*andsn=''andto_days(update_time)=to_days(now()-1)';//取出昨天没有充上话费的用户$result=...
http://www.jb51.net//article/16353.htm
经常会在js里用到数组,比如多个名字相同的input,若是动态生成的,提交时就需要判断其是否是数组.if(document.mylist.length!="undefined"){}这个用法有误.正确的是if(typeof(document.mylist.length)!="undefined"){}或if(!isNaN(document.mylist.length)){}typeof的运算数未定义,返回的就是"undefined".运算数为数字typeof(x)="number"字符串typeof(x)="string"布尔值typeof(x)="boolean"对象,数组和nulltype...
http://www.jb51.net//article/16342.htm
下面是css2selector的语法,当然很多浏览器只是支持其中的一部分,Prototype中的Selector主要支持tag选择器、class选择器和id选择器,还有属性(attribute)选择器,基本上包含我们平时所用的所有类型ThefollowingtablesummarizesCSS2selectorsyntax,详细的可以看http://www.w3.org/TR/REC-CSS2/selector.html:PatternMeaningDescribedinsection*Matchesanyelement.UniversalselectorEMatchesanyEelement...
http://www.jb51.net//article/16284.htm
一、筛选类函数 ancestors、recursivelyCollect、descendants、firstDescendant、immediateDescendants、previousSiblings、nextSiblings、siblings、match、up、down、previous、next、select、adjacent。 二、增、删、改元素类函数 insert、update、remove、replace、wrap、cleanWhitespace 三、设置元素各种属性类函数 visible、toggle、hidde、show、identify、readAttribute...
http://www.jb51.net//article/16283.htm
所有函数的第一个参数都为:element,表示要操作的元素的引用,这是为了方面在Element.extend时,把这些方法加入到DOM对象中去,用的是methodize函数。调用的时候不需要输入第一个参数了,如: varb=$('div1').visible(); 另外,几乎所有函数都会返回自身,注意,扩展后的元素的类型为:HTMLElement,之所以这么做,有一个好处,就是方便连写代码,如: $('div1').update().insert('这是新插入的内容'); 这样写代码有一个好处,可读性强,且易于书写。 下面是函数介绍: visible(element):Boolea...
http://www.jb51.net//article/16282.htm
先说一下Element对DOM扩展的技术思路,我也是看了一天的代码,这才有了点心得。使用prototype,我们最常用的莫过于$('div1')之类的代码。从而获得扩展后的element对象,然后,我们就可以用它的各种扩展出来的方法了,如:$('div1').addClassName('loading').show();所以,我们研究Element的扩展正应当以此为入口。function$(element){if(arguments.length>1){for(vari=0,elements=[],length=arguments.length;i<length;i++)eleme...
http://www.jb51.net//article/16281.htm
Parseerror:syntaxerror,unexpected$endinscript.phponlinexx调试了一会后发现产生错误的行是文件中间某行//$str.="?>\n";想起来了PHP解释器允许的结尾标记那行还可以用单行注释,即//$str.="?>\n";被解释成结尾标记前有注释,注释的内容是//$str.=",而?>后面的\n";会被解释作PHP块外的内容按HTML输出出去!结果是给$str.="?>\n";这行添加//成注释后,反而多了个?>的结束标记,造成原来真正的结束标记成了意料之外的(unexpected)了。解决办法就是直接删掉这一行...
http://www.jb51.net//article/16273.htm
