说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

建设一个简单的交互网站(一) -PHP初学入门教程5

HTML文档下载 WORD文档下载 PDF文档下载
PHP的许多特点与其他软件或者工具有关。利用迄今为止我们所学到的PHP知识,我们可以试着建立一个简单交互的网站。

 

PHP的许多特点与其他软件或者工具有关。利用迄今为止我们所学到的PHP知识,我们可以试着建立一个简单交互的网站。利用这一过程我们又可以学到不少东西。好吧,我们现在开始专注于一个典型个人网站的建设。

 

5.1 计划一个站点

 

  一般一个个人站点包括一个欢迎页面、一个留言本页面、一个书签链接页面、一个计数器、联系信息,甚至还有照片集和一些音乐文件等等。 

 

5.2 用include和require进行模块化

 

  我们看一些用PHP构架的网站,几乎网站每一个页面的PHP文件里都会有include和require嵌入其间。这是因为使用include和require不但可增强代码的可读性,而且可将站点分成模块来管理。一般来说,对于一个网站上的每个页面肯定会有重复的内容。例如:页面头部的导航条、广告图标、或边部导航等。可能还在每页的页脚即页面的底部有著作权或一些基于文本的导航条。如果我们要修改一个包含成千上百个页面的大网站上的导航条或是徽标之类的内容,用我们以往的方法,我们只能遂一对每一页面进行更改。不用我说,大家也能想像到这是一件多么艰巨而痛苦的差事。那么,我们到底有没有更好的解决方法呢?答案是肯定的。我们可以将重复的内容都放到一个文件中,然后在每一个需要这些内容的页面上用PHP的include和require函数动态地调用该文件。这样,以后如果我们想对所有页面上的这些复用内容做修改时,就只需要更改包含了这些重复内容的文件。

 

  为了便于大家理解,让我们先来看看include和require的一个简单应用:

 

HTML的页面开始,也许你会在站点的每页的头部包含它(head.htm)。

<HTML>

<HEAD>

<TITLE> 我的个人主页 </TITLE>

</HEAD>

<BODY> 

 

页面内容(content.htm)。 

<H1>

欢迎来我的寒舍,虽然这里现在暂时还没有什么。 

</H1> 

 

HTML的页面的结束(trail.htm)

</BODY>

</HTML>

 

用include和require函数把HTML从PHP中分离出来,将HTML和PHP分成模块: 

 

<?/*调用HTML页面的头部*/require("head.htm");/*调用HTML页面的内容*/require("centent.htm");/*调用HTML页面的尾部*/require("trail.htm");?>
5.3 让我们从一个标题页面、一个联系信息页面和一个简历页面开始。我们同样需要标准的、通用的页面头部和底部。 
标题页面--front.htm 
这里我们有一个非常简单的html文件:
<HTML>
<HEAD>
<TITLE>
我的个人主页--欢迎
</TITLE>
</HEAD>
<BODY>
<H1>
我的个人主页
</H1>
<H2>
欢迎
</H2>
<HR>
<P>
欢迎来我的寒舍,虽然这里现在暂时还没有什么。
</P>
<P>
不过我希望马上就可以多起来。
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>
联系信息页面--count.htm
同样我们又有了一个简单页面:
<HTML>
<HEAD>
<TITLE>
我的个人主页--联系信息
</TITLE>
</HEAD>
<BODY>
<H1>
我的个人主页
</H1>
<H2>
联系信息
</H2>
<HR>
<P>
你可以通过1-800-PHP-INFO联系我
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>
5.4 从HTML到PHP
  从上面你可以看出,每个页面有相同的头部和底部。像上面那样每个页面都写入相同的信息在工作量少的时候还可以,但是想象一下当有100多页面且你需要全部更改其头部或底部时你要花费多大精力?一页一页的手工更改是一件多么冗长无趣的事情啊!所以我们应该为这些页面编写PHP的头部和底部文件,之后我们只要在每个HTML页面中引用它们就行了。在include和require函数中都包含一个PHP代码的文件,不管该文件的扩展名是什么,它都被当作是PHP文件。我们将把这些include文件放在一个叫include的子目录下,并取成以.inc为后缀的文件。下面我们就把这些站点的通用内容写进文件中。
全站通用变量设定:common.inc
<?// 全站通用变量$MyEmail = "phptalk@tnc.org";$MyEmailLink = "<a href="mailto:$MyEmail">$MyEmail</a>";$MyName = "PHP Talk";$MySiteName = $MyName."'s Home Page";?>
通用页面头部:header.inc
<?// 定义通用页面头部?><HTML><HEAD><TITLE><? echo "$MySiteName - $title"; ?></TITLE></HEAD><BODY><H1><? echo "$MySiteName"; ?></H1><H2><? echo "$title"; ?></H2><HR>
通用页面底部:footer.inc
<?// 通用页面底部?><HR><P ALIGN="CENTER"><SMALL> <I>Copyright ? by <? echo "$MyName ($MyEmailLink)"; ?>, 1999</I> </SMALL></P></BODY></HTML>
新的页面front.php3:
<?include("include/common.inc");$title = "Welcome";include("include/header.inc");?><P>欢迎来我的寒舍,虽然这里现在暂时还没有什么。</P><P>不过我希望马上就可以多起来。</P><?include("include/footer.inc");?>
新的count.php3:
<?include("include/common.inc");$title = "Contact Information";include("include/header.inc");?><P>你可以通过1-800-PHP-INFO联系我</P><?include("include/footer.inc");?>
现在你可以体会一下这样安排的好处了。如果你想改动页面的头部或者底部,你只需要改动相应的文件就可以了。如果你要修改你的e-mail地址甚至你的名字,只要修改common.inc文件就行了。另外值得注意的是你可以把具有任何文件名或者文件扩展名的文件包含进你的文件中,你甚至可以包含其他站点上的文件。

 

 

直觉不靠谱!使用移动应用分析的七个巧妙方法 屏蔽、挖角与丑闻,Uber的“创收神器”泡沫 蚁视科技发布会:三大产品与四大概念技术 盘点VS2015 预览版的5个新特性 低能的“智能” 你就是明星,第一届IBM RockStar正式启动! Kubernetes:Google分布式容器技术初体验 方法可以复制 AngularJS资源集合 那些年,微信走过的开放之路 从YunOS话阿里移动互联网云生态布局 Mobile First!苹果联合IBM发布10款企业级App iOS8.1.1越狱又惹急苹果!扒一扒黑客与苹果的斗争史! Firefox.html:用HTML重现Firefox UI Qt 5.4正式发布!引入WP,支持HTML5混合开发 2014智能硬件盘点第二弹!这次咱走暖心的 聚合数据资产,推动产业创新——2014中关村大数据日看大数据变现 拥抱开源:微软Windows 10宣布全面支持AllJoyn技术 改变App领域发展!友盟推“数据工场”战略,两款新品亮相 Cloudera正式登陆中国市场:与英特尔携手共助本土企业淘金大数据 Go 1.4正式发布 支持Android开发 【特别提醒】2014中国大数据技术大会门票全面告罄 不接受现场购票 累计4000万美元 Qualcomm在华投资5家公司 支持Android、WatchKit开发,全新RubyMotion 3面世! 快速开发移动医疗App!开源框架mHealhDroid 2014CVW﹒产业互联网大会解密未来20年 Nimble VR的收购与一封来自友商的感言 Google Earth API将在2015年12月彻底关闭 AR、美颜、机器人:计算机视觉库几乎无所不在 不激增,无爆收,年度最佳手游为80 Days带来了什么? 《近匠》机智云CEO黄灼:跨越智能硬件的“鸿沟” 智能手机≠智能家居!我们要的究竟是什么? 有个问题请教,是关于“名字空间”的!~~ 点击了一个Button(删除)安钮就可删除选中了的复选框的相关记录?看看代码是什么原因?? 谁能提供《The C++ Programming Language》书后的练习题的答案? 多外部IP的情况下,如何让Socket以其中一个指定的IP地址去连接外部的机器? PowerPoint XP设置模板的问题 linux 下有那些开发工具? 打开InputPanel出错 下载 oci不能正常显示汉字 帮我看个jsp程序,这是我的处子show,很多错误,希望大家来找碴。 请问如何实现在两个Form内各自的textbox之间进行数据流通?(50分) 急急急!在SQLserver中怎样调用索引? TreeView控件的字体如何改变? 关于字符串的处理问题 關于用存儲過程實現表關鍵字段自增的問題 <<雍亲王发迹史>>(有正文) 请问XML问题,很急,再线等!!谢谢!! 有人用msn messager 吗? 有关PXE技术,大虾请进 为什么我创建dialog时总是失败?? 数据窗口求和问题 三个小问题 【求助】【ZJU1504】那位能花点时间看看我的代码 如何实现类似vc的可视化拖拉形成界面功能? repeater控件的ItemTemplate模板问题!不容忽视!!! 怎样在自己的程序中备份数据库!!!??? 谁知道哪里有《杀手的童话》电影下载? 有谁知道用VC6在没有服务器端程序的情况下,如何通过账号操作远程SQL数据库. 散分!! 回复被删除,信誉分被扣! 请VFP高手帮我! mysql如何连接java,菜鸟求救!!! 有关win32 api 的问题 使用字典或者数组的问题(急) 电脑装不上xp了,急急急!那位大侠救救我! 如何使用WebLogic的LDAP服务,最好有相关文档和教材,拜谢 再问安装程序制作:我实在一点都不知道! 从哪开始啊,装了install 。。。。 想作一个阻止IE弹出窗口的程序,谁有例子? 3d游戏引擎中的关键的图形图象技术(特别是新的)有哪些? pb高手请进(送分题) 我不懂汇编 SendMessage(ClientPanel->Handle, WM_KEYUP, VK_CONTROL, 0);第三个参数是什么意思? 哪位大哥用过PXE? 上传到服务器的站点出错啊??Global.asax vb+asp.net????????? 怎样让我自己生成的菜单响应消息,并且知道所选的是哪一个菜单? 如何实现“有条件”数据绑定? WriteFile函数写大于4G的文件不成功,请教高手!急 请教高手,关于鼠标响应! 谁来给我举一个回调函数的例子,越详细越好。 DLL全局变量的理解,指导一下,看对不对,谢谢! 500分求助:怎么在windows的user control中加一个参数 java 难题 求救,用x,h,y,l,s,c,z几个字母组成的单词有哪些,希望可以详细些, 人性与兽性差别求大神帮助 如果没有法律……那人性和兽性有分别么? 商朝有丞相吗? 汉朝《推恩令》谁实施的? 汉朝实行推恩令的原因? x·q·l·l·x·z这几个字母可以拼成单词吗? 满清政府一共向列强赔了多少亿两白银?相当于多少亿人民币?割让了多少万平方公里土地?只要一个大致的数字 秦始皇的丞相王绾是哪国人?是秦国人骂?刚才打错了.秦始皇的丞相王绾是哪国人?是秦国人吗?另外,请简要回答,说明是哪国人什么地方的人即可, 秦始皇为什么对丞相车骑 秦始皇 的丞相都谁?几个? 辽宁舰低调出海 或赴西太平洋参加军演杭州绕城高速施工多 过往车辆尽量绕行百度“百发”引发关注 互联网金融呼吁记协就陈永洲被捕事件联系公安部:确保大鲨鱼穿行沪宁杭 我国最新型高速动车上海海事大学\"海事一号\"ARV新民进党“独派”大佬欲选台北市长 靠组二战著名“野马”战斗机美国得州坠毁 上海车牌价再破8万 下月起继续实施有2013韩国小姐素颜照曝光 网友高呼温州:民资发起设立民营银行试点方案已经济下行,最受益的成长领域在哪里?丨万达新媒体的流量已经超过了他们的广场个税改革再启动,“隐形税收”让你大吃与电商偷情家电企业将付出代价两外企加码中国白电市场,还有多少商机创始人说不了解中国,GoPro还咋在网购马代游被骗,孰之过?探访广东供港牛奶生产基地 产品达欧盟梁锦松:香港不应该自卑上海京剧院推“悟空戏”展演 “大圣”武汉大花岭货场跨京广铁路特大桥成功转
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘