在HTML里面调用动态模块,比如浏览次数,除了使用JS/AJAX可以实现,还可以利用JS调用PHP的脚本来实现,而且还可以传递参数给服务器。笔者在这儿做一下纪录,一者加深印象,二者方便初学者查阅。
笔者在做整合的友情链接模块中,使用到了该方面知识。
1. 调用格式
代码如下 | 复制代码 |
<scriptsrc="./friendLink/script.php"type="text/javascript"><!--mce:0--></script> |
2. 实例应用
笔者这里先介绍一下实例。我乐邯郸使用了康盛的SUPESITE7.0、DISCUZ7.0、UCHOME三个系统,三个系统中的友情链接模块相互独立。笔者需要把这三个系统的友情链接模块整合到一起。友情链接管理模块这里不谈,只给出调用脚本script.php的代码。
代码如下 | 复制代码 |
include'./FL_inc/friendLink.inc.php';2:$xml = simplexml_load_file('./FL_data/data.xml');3:$position = $_GET['position'];4:foreach($xml->friendLinkas$flinks) {5:if($flinks['position'] == $position && $flinks['isImage'] == 0){6:echo'document.write(/'<a href="',$flinks->url,'" target="_blank">',u2gIconv($flinks->name),'</a> /');';7:}elseif($flinks['position'] == $position && $flinks['isImage'] == 1){8:echo'document.write(/'<a href="',$flinks->url,'" target="_blank"><img title="',u2gIconv($flinks->name),'"" width=100% src="',$flinks->logoPath,'" border="0" alt="" /></a> /');';9:}10:} |
笔者需要在3个系统的默认友情链接部分,使用JS调用script.php脚本,并且传递系统标识符给script.php脚本。
代码如下 | 复制代码 |
<script src="./FriendLink/script.php?position=supe"type="text/javascript"></script>2:<script src="./FriendLink/script.php?position=bbs"type="text/javascript"></script>3:<script src="./FriendLink/script.php?position=home"type="text/javascript"></script> |
这样就轻松实现了友情链接集中管理功能。
1、PHPer应具备的知识
(1)PHP知识:
熟练掌握基础函数,PHP语句(条件、循环),数组(排序、读取),函数(内部 构造),运算(数学 逻辑),面向对象(继承 接口 封装 多态静态属性)等。
了解Cookie或者Session一种机制
了解一种模板操作机制和使用
手头收藏一些好的常用类或方法,能提高我们的开发的速度。如:分页、上传、字符过滤、数据库操作、生成HTML、文件操作等。
(2)HTML知识
(3)JavaScript事件处理
(4)数据库知识:SQL语句“增删改查” 会使用一种SQL工具
-----------------------------------------------------------------------------------------------
2、PHP开发的一般流程
(1)尽量完整的需求方案,具体到功能上:
(2)建模结构UML
(3)建立数据库:
1、建立的表名、字段名要与他的功能有关系。
2、根据结构建立数据库表,原则是不定项内容一定要分表。
3、字段类型要考虑内容是否够用就够就好,选择适合的类型INT Varchar Date
(4)设计HTML文件和脚本的实现
根据模和数据库来设计页面是个很科学的方法,当然有的时候有人喜欢根据模型设计页面,数据库基于页面设计,都是可以的。
设计页面时要考虑到每个细节,包括提示消息页面,错误页面。
(5)PHP代码的书写
1、先建立底层结构和文件夹(如果是大型的网站同样设计一个文件UMML)
2、基础功能分类关联,以便今后代码引用。
3、代码的书写,注意简洁性和函数的使用,内部函数能实现的尽量使用内部函数。
4、在部分关键位置加以代码注释。
(6)程序的测试和修正
1、对于发现的BUG不能就解决BUG而解决,要处于完整程序考虑。避免收之东隅收之桑榆。
2、对于解决过的BUG已经要详细记录,以便日后更新。
-------------------------------------------------------------------------------------------------
3、多人开发应该注意什么
使用版本服务器:CVS、SVN...
功能:
1、单个文件历史版本的记录和恢复
2、文件的锁定和更新
3、单个或多个文件程序之间的沟通
4、保护程序的安全性不受单个程序的误操作而丢失
一、jquery实现方法:
代码如下 | 复制代码 |
MessageAction.class.php页面代码如下: <?php class MessageAction extends Action{ function index(){ $this->display(); } function add(){ //ajaxReturn(数据,'提示信息',状态) $m=M('message'); if($m->add($_GET)){ $this->ajaxReturn($_GET,'添加信息成功',1); }else{ $this->ajaxReturn(0,'添加信息失败',0); } } } ?> |
模板index.html代码如下:
代码如下 | 复制代码 |
<html> <head> <script type="text/javascript" src="__PUBLIC__/js/jquery-1.7.1.min.js"></script> <script type="text/javascript"> $(function(){ $('input:button').click(function(){ var $title=$('input[name="title"]').val(); var $message=$('input[name="message"]').val(); $mess=$('#mess'); $.getJSON('__URL__/add',{title:$title,message:$message},function(json){ //alert(json);return false; if(json.status==1){ $mess.slideDown(3000,function(){ $mess.css('display','block'); }).html('标题为'+json.data.title+'信息为'+json.data.message); }else{ $mess.slideDown(3000,function(){ $mess.css('display','block'); }).html('信息添加失败,请检查'); } }); }) }) </script> </head> <body> <div style="display:none; color:red;" id="mess"></div> <form action="" method="get"> 标题:<input type="text" name="title" /><br /> 信息:<input type="text" name="message" /><br /> <input type="button" value="提交" /> </form> </body> </html> |
二、ThinkPHP实现方法:
MessageAction.class.php页面代码如下:
代码如下 | 复制代码 |
<?php class MessageAction extends Action{ function index(){ $this->display(); } function addtwo(){ $m=M('message'); if($vo=$m->create()){ if($m->add()){ $this->ajaxReturn($vo,'添加成功',1); }else{ $this->ajaxReturn(0,'添加失败',0); } }else{ $this->error($m->getError()); } } } ?> |
模板index.html代码如下:
代码如下 | 复制代码 |
<html> <head> <script type="text/javascript" src="__PUBLIC__/Js/Base.js"></script> <script type="text/javascript" src="__PUBLIC__/Js/prototype.js"></script> <script type="text/javascript" src="__PUBLIC__/Js/mootools.js"></script> <script type="text/javascript" src="__PUBLIC__/Js/ThinkAjax.js"></script> <script type="text/javascript"> function add(){ //ThinkAjax.sendForm(表单ID,URL,回调函数,信息显示的地方); ThinkAjax.sendForm('frm','__URL__/addtwo',wc); } function wc(data,status){ if(status!=1){ alert('发送失败'); }else{ $('list').innerHTML+='标题'+data.title+',信息'+data.message; } } </script> </head> <body> <div id="list"></div> <form action="" method="POST" id="frm"> 标题:<input type="text" name="title" /><br /> 信息:<input type="text" name="message" /><br /> <input type="button" value="提交" onClick="add()" /> </form> </body> </html> |
感兴趣的朋友可以测试运行一下本文所示实例,可以加深对Ajax应用的理解。
本文介绍了PHP代码添加注释的几种格式,非常实用,不会的同学可以参考一下。
PHP代码添加注释的几种格式:
1、用 // 开头,作为单行注释。例如:
<?php
// Author: mole
// Date:2012-2-8
echo "Welcome!";
?>
2、用 # 开头,作为单行注释。例如:
<?php
# Author: mole
# Date:2012-2-8
echo "Welcome!";
?>
3、以 /* 开头,以 * / 结束的多行注释。例如:
<?php
/*
下面是计算员工平均
工资的函数
* /
calculate();
?>
注:上面*和/之间的空格应该是没有的