首页 | 博客群 | 公社 | 专栏 | 论坛 | 图片 | 资讯 | 注册 | 帮助 | 博客联播 | 随机访问
得到对象以及鼠标在页面的绝对位置- -| 回首页 | 2006年索引 | - -PHP版爱墙源代码

PHP+Ajax 发帖程序实例

关键词PHP    Ajax    xmlhttp    net.js    prototype.js                                          

这是一则无刷新发帖的实例,也是应用Ajax的一个实际例子,后台是Apache+PHP,数据是文本(之所以考虑文本方便,数据库的话还要先安装,反而搞的复杂,所以采用文本。当然了,实际应用当中是采用MySql还是文本可以另选:)
下载地址:http://jarryli.googlepages.com/post_ajax20060820.rar
详细说明地址:http://jiarry.blogchina.com/5555296.html

PHP+Ajax 版发帖程序实例说明

本文所讲例子基于windows或linux的apache+php5.0平台(查看安装文档);
概要说明
本例是用PHP+文本作后台,Ajax操作界面来实现的一个例子。这其实只是一个测试和实践,因为代码写的并不规范,也没有做优化和压缩。由于Ajax越来越火热,应用范围也越来越广,这种无刷新的WEB技术确实带给用户更多的方便和体验。我认为Ajax其实更应该是一种理念,不光只是一些技术的组合。它应该与RIA一样(或是RIA现阶段最好的体现),而非是一种技术或是技术的组合,因为技术或是技术的结合总会是有局限性或时间性的。关键是怎么样提高用户体验,怎样让用户能像使用桌面软件或超过桌面软件一样便捷、迅速地操作WEB程序,能让WEB界面像桌面系统一样具有美丽的外观和实用的功能,这才是Ajax所要表达的意思。因为只有让用户感受到丰富,友好地界面操作,包括Ajax等的各种网页技术才会有它的价值。而在追逐时尚,张扬个性,讲究体验的现今网络时代时,给用户最好的才能是最好的。

也正是基于此,看了prototype.js以及net.js以后才想要真正地做一个能够说明和实际应用Ajax的例子(其实05年初时就做过Ajax的应用,只是那时还没有Ajax统一叫法,当时模仿Google Suggest 做了一个自动提示程序)。代码写的并不好,但是我觉得算是一种Ajax的实际应用了包括xmlhttp,js,css,xhtml等加上后台的php文本操作,可以基本讲下Ajax是如何用的,供想学Ajax的人参考和讨论。源文件下载地址:http://jarryli.googlepages.com/post_ajax.rar, 解压缩至apache+php里的相应目录即可运行
结构说明(下面是一些关于结构的描述,代码里的描述请看代码里的注释,非常地详细,在这里都不多说了)
1,先来看下目录结构,在post目录下建有action(用来放各种与后台操作相当的文件),data(用来存放数据文件),inc(用来存放包含内容文件),js(用来存放用到的js库),login(登录页面),validate(验证码页面)。
在post目前下有四个php文件,其中
showall_js.php是用来查看删除更多留言的界面,这里采用js解析得到的文本的方式。
showall_normal.php是采用普通查看删除更多的方式,没有什么特别,大家可能比较熟悉
showall_xml.php是采用js来解析得到的xml文档的方式


2,具体文件说明:
action目录下的
action.php用来接受提交的数据,并且保存到文本里去,这需要得到post的值即可。
delmessage.php是用来按传统方式删除文本里的数据的,用文本存储数据与数据库不太一样,删除每行时需要按指针或是全部覆盖原来的文件,不像数据可以update或delete。
delmessage_ajax.php这与传统的方式基本一致,只ajax版的删除完后给出一个成功提示,这样就通过xmlhttp来得到内容是否已经更新的提示。
msgjs.php用来输出供js的可以引用的文内容,将"'\都作为转义处理
msgxml.php用来输入供js解析的xml文档, 这样来引用带html或js的数据,不用转义处理
show_this_all.php用来按字符长度输出截取了更多的内容
show_this_all_normal.php用来普通版的显示截取了的更多内容
data目录下的
LeaveMessage.text用来存储数据,采取分行显示的方式,每条数据以行(\r\n)为间隔,每条里的内容按(\t)tab键来间隔,取时按这个取。这时如果用数据库的话就简单多了。
inc目录下的
delete.inc是php里调用的删除的些一函数命令
footer.inc是页脚
header.inc是页头
loaddata.inc是Ajax版调用数据时用的
loaddata_normal.inc是普通调用数据时用的,它与Ajax版没有区别,只是因为路径不同而做成了两个文件,一般一个文件就够了
page.inc是普通方式php调用翻页的class
substring.php是按英截取字符长度的一些公用函数
url.php只个测试文 档,没有其它用处
login目录下的
allow.php是否允许访问某个页面
login.php登录页面,loginValidate.php登录验证不,login_ajax.phpAjax版的登录页面
logout.php倒出注销页面
public.php是登录时共用的一些信息,如session等

js目录下的
ajax版的登录时用到的js,
check.js检查多选时的js,
darg.js拖动效果,
net.js调用xmlhttp的js,
page.js是翻页库,
prototype.js不用提了,大名鼎鼎了,但本程序中没有使用它,因为只有某一些功能符合要求,所以采用简单net.js即可,
settable.js是一个控制表格如分行显示颜色,重显表头啦等等,
showmore.js是当截取字符查看更多时的用到js
showtip.js是一个提示与关闭提示用到的一些js函数
validate目录下的
img.php是生成验证码的php程序

下面是一些界面抓图

首页显示取前10条发帖内容的界面

发帖处的截图


删除发帖里的截图


登录框
后记说明
这其实只是一个测试和实践,因为代码写的并不规范,也没有做优化和压缩。由于Ajax越来越火热,应用范围也越来越广,这种无刷新的WEB技术确实带给用户更多的方便和体验。越来越多感兴趣的朋友也开始用Ajax来开发WEB程序。我感觉用Ajax会有以下几个优点和好处:
优点
1,增强用户体验,(页面无刷新,减少用户等待时间,给用户友好提示 等等)
2,减少请求的内容并减少请求次数,只发送需要更新的请求数据,不变的仍然不改变,且得到内容后即可将内容保存在js里,等用时再显示。这点来讲节省了带宽和成本。
3,显示速度加快,页面动态交互效果增强,让用户感受软件界面的应用
4,web2.0的一种应用吧,也是种RIA的实际应用,有效结合了B/S与C/S模式

缺点:
1,客房端程序编写复杂不利用调试,没有好的IDE,用Eclipse装插件不错,用JavaScript Edtior 也可以,不过最好还是用Ultra Edit ,本例子主要用的就是Ultra Edit。
2,不够安全,通过xmlhttp来获取数据确实不太安全,不过就算传统的应用,照样可能受到xmlhttp请求攻击
3,采用js解析文本的方式是个不错的主意,速度快,但不好定以什么间隔内容,若采用xml,效率低,速度慢,便xml不用转义字符,且通用性比较好,建议大众用的一些数据用xml,比如rss\tag\天气预报等等,其它留言等信息采用文本的方式较好。
4,还有些Ajax的设计小问题,比如没有后退页,秒利用搜索引擎抓取啦等等,不过这些都不是大问题。都会有相应方法解决,这不会成为Ajax发展的阻碍。

下载地址:http://jarryli.googlepages.com/post_ajax.rar
另外提供一个PHP版的爱墙下载 http://jarryli.googlepages.com/php_lovewall.rar
若有任何问题请联系: E-mail:Jiarry@hotmail.com
All Right Reserved Please visit http//:jiarry.126.com® or http//:jiarry.blogchina.com
Copyright@Jiarry.126.com 版权皮子(Jiarry/Jarry)所由.如需转载请注明作者及出处并保留版权与声明信息.谢谢!

【作者: 皮子/Jarry/Jiarry】【访问统计:】【2006年08月20日 星期日 23:56】【注册】【打印

搜索

Google

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=5555296

来自逐鹿流行榜逐鹿流行榜的引用:

逐鹿流行榜

回复

- 评论人:浪子   2008-03-05 09:40:44   

站长辛苦了,会好好研究的.
交换好链接吧,你的我已加上,我的:
浪子(http://www.dayit.com.cn)

- 评论人:吴三桂   2008-02-15 09:06:09   

.....00213355

- 评论人:H   2008-01-23 17:54:22   

HHHHHHHHHHHH

- 评论人:wewqeq   2007-12-20 16:44:17   

sdsad

- 评论人:wewqeq   2007-12-20 16:44:12   

sdsad

- 评论人:222   2007-12-20 16:43:48   

eqweqwewqe

- 评论人:ererwer   2007-11-15 17:22:04   

eeeewerwerwerwer

- 评论人:月有有有有   2007-11-15 17:21:28   

3241324132432 有有有有 有有

- 评论人:月有有有有   2007-11-15 17:21:12   

3241324132432 有有有有 有有

- 评论人:fsdrter   2007-09-04 09:48:12   

强烈的顶顶顶!!!

15G空间=5个网站=500元/年 可免费试用
www.abcnic.com QQ:1012727
5GB 独立WEB空间、5GB 企业邮箱空间、5GB MSSQL数据库
IIS连接数据 500 个、500GB/月流量、共享日志文件空间

数据库功能
支持5GB MSSQL数据库空间,5个用户数据库、Access

主机功能支持
采用安全稳定的Win2003 .net2.0 架构
支持ASP、PHP、ASP.NET、PERL等脚本、支持自定义CGI
全面支持.net2.0版本,独立的Application应用池,
支持SSI(Shtml),支持FrontPage扩展
可免费自行绑定5个域名、500个解析、500个子域名

企业邮箱功能
赠送5GB 超大企业邮箱,500个Email企业邮箱用户
自动回复、自动转发、POP3、SMTP收发信、SMTP发信认证
邮件过滤、邮件拒收、邮件夹管理、邮件域管理、定制邮件数

- 评论人:hi   2007-07-19 19:24:29   

hi

- 评论人:dsa   2007-06-28 13:26:31   

s

- 评论人:KITTY   2007-06-24 12:32:48   

我也试试看

- 评论人:anonymous   2007-05-12 14:40:19   


- 评论人:anonymous   2007-04-29 17:03:33   


- 评论人:ik   2007-04-17 15:49:43   

阿斯顿发生

- 评论人:sadfasdf   2007-01-25 21:42:11   

asdfasdf

- 评论人:老面   2007-01-16 22:07:00   

非常棒,谢谢!

- 评论人:lin   2007-01-11 12:53:36   

要刷新呀!怎么会不刷新呢?
没刷新的,就要像QQ空间里写留言一样的不刷新!!!

- 评论人:a   2007-01-11 12:52:51   

s

- 评论人:aaaa   2007-01-11 12:52:02   

fdsafdsa ffdsadsa

- 评论人:aa   2007-01-11 12:51:11   

aaaa

- 评论人:google   2006-12-19 18:00:49   

好啊

- 评论人:hji   2006-12-07 13:33:58   

yui

- 评论人:手趣趣网   2006-12-06 17:14:41   

测试一下,手机趣网:http://www.sjqu.com

- 评论人:anonymous   2006-11-07 09:38:41   

数据库应用服务网之数据库应用服务社区招募版主

- 评论人:anonymous   2006-11-01 18:05:27   


- 评论人:anonymous   2006-10-30 17:14:28   


- 评论人:皮子/Jarry/Jiarry   2006-10-30 14:29:13   皮子/Jarry/Jiarry的博客  

为什么显示不了留言呢奇怪。服务有些不好。

- 评论人:anonymous   2006-10-29 21:18:59   


- 评论人:anonymous   2006-10-26 16:15:39   

强的

- 评论人:anonymous   2006-10-25 14:58:19   


- 评论人:2342   2006-10-24 13:43:58   


- 评论人:anonymous   2006-10-23 18:31:09   


- 评论人:我也来测试一下   2006-10-20 20:31:48   

呵呵,,测试一下啦

- 评论人:2   2006-10-17 11:16:01   


- 评论人:anonymous   2006-10-11 16:54:19   


- 评论人:1111   2006-10-11 11:12:32   


- 评论人:可耕地   2006-10-10 13:52:59   


- 评论人:anonymous   2006-10-07 20:47:30   


- 评论人:anonymous   2006-10-03 11:05:24   


- 评论人:anonymous   2006-09-17 17:55:18   


- 评论人:anonymous   2006-09-17 17:55:15   


- 评论人:anonymous   2006-09-14 08:49:47   


- 评论人:往往外   2006-09-13 20:55:48   

还行啊

- 评论人:小云牛   2006-09-13 10:05:48   

好像不错

- 评论人:anonymous   2006-09-13 08:33:31   


- 评论人:anonymous   2006-09-13 07:59:23   


- 评论人:anonymous   2006-09-12 10:39:00   


- 评论人:anonymous   2006-09-12 10:38:37   


- 评论人:2591   2006-09-12 09:55:54   


- 评论人:anonymous   2006-09-05 11:51:55   


- 评论人:anonymous   2006-08-27 22:53:39   


- 评论人:anonymous   2006-08-23 16:22:35   


- 评论人:anonymous   2006-08-23 08:47:43   


- 评论人:1   2006-08-21 21:47:55   


验证码:   
评论内容: