仓酷云

标题: PHP网页设计PHP生成HTML的思绪 [打印本页]

作者: 不帅    时间: 2015-2-3 23:51
标题: PHP网页设计PHP生成HTML的思绪
另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学。前收集上很多多少网站的旧事宣布体系都采取了静态办事器手艺生成静态HTML的做法,如许做的优点是:一是能加重其办事器的承当,二是由于生成了HTML静态页面,所以其网站被搜刮引擎搜刮到的机率更大一些。   笔者的网站已经利用PHP这一静态手艺来构建旧事宣布体系,其道理也就是使用了PHP生成HTML静态页面的手艺,相干平台是 Windows XP Sp2+php4.32+mysql,因而,在这里,想复杂地谈一下这类做法的思绪。这篇文章合适于对PHP+MYSQL数据库操作,SQL语句和网页设计有点基本的伴侣,假如您是一个从头入手下手学的伴侣,那末请先打好基本吧!到这里就不必往下看了。假如您都合适上述前提的话,那末祝贺您,请接着往下看。然而,在详细下手构建之前,您还要做好以下几点筹办任务。
1、 具有当地调试PHP的功效
在WINDOWS XP操作体系下,笔者建议你可以到网高低载一个PHP+MYSQL+APHCHE的办事器套装,如华军软件园,去那边搜刮一下就能够下载到。下载完后默许装置便可,如许您就具有了在当地测试PHP的功效了,省去了良多手动设置装备摆设的费事,怎样,复杂吧,OK,这仅仅只是第一步。
2、 构想旧事宣布体系所具有的功效
首页的旧事宣布常常是经由过程后台更新的,后台的更新不过是由添加、编纂、删除数据等根基的功效所完成的。在这里,你可使用网页设计软件来构建你的想要的后台界面,其功效的完成固然是要用到PHP喽。这一步建议您先想好旧事宣布体系要有的功效。在这里,若何用PHP添加、编纂、删除数据就不再反复,由于重点是若何在这基本上生成静态手艺。
3、 PHP生成HTML的手艺道理。
哈哈。费话说了那末多,终究到了该讲的中央了。其实,这一道理其实不庞杂,综合地来说的话,应当是PHP中一个交换数据语法的使用。OK,讲一个复杂典范吧,一步一步地剖析!信任伶俐的你能看得分明的咯,细心看好每步便可,在这里,只是引诱人人若何做罢了,详细的可以理论一下!
(1)在MYSQL里新建一数据库,定名为 database (可自界说),新建一表,定名为 news(由于是旧事宣布嘛,取个好记的名字便可,可自界说),然后创立这几个字段名:
id (主动递增,这是关头,类型:INT)
title (望文生义,旧事题目,类型可取 TEXT)
content (旧事内容,类型可取 TEXT)
path (HTML文件途径,类型可取 TEXT)
(2)创立 conn.php
这是毗连数据库的PHP文件,你可以把毗连数据的语句独自放在这一文件里,今后多个需求毗连数据库的文件直接援用这个文件便可。
(3)设计添加旧事的表格 add.form 复杂的源代码以下:
  以下是代码片断,把《》换成<>:
《form method=”post” action=”add.php”> //提交至 add.php
旧事题目:<input type=”text” name=”title” size=”20”><br>
旧事内容:<textarea name=”content” cols=”10” rows=”25”></textarea><br>
《input type=”submit” name=”提交”》
《/form》

(4)创立一个 HTML 的模板,另存为model.htm,和 add.php可以在统一目次下。
示例源代码:
以下是代码片断,把《》换成<>:

《html>
《body>
此旧事的题目:{title}
此旧事的内容:{content}
《/body>
《/html> { }大括号内的内容便是要被交换的内容,全部静态模板的设计可以依据本人的思绪,但{ }内被交换的内容必需包括在内,如下面的{title},{content};咔咔~复杂地说,设计好一个很悦目的旧事模板后,把要被交换的如{title},{content}等标志放到需求的中央就能够了撒。
(5)详解 add.php 源码
  以下是代码片断,把《》换成<>:

《?php
require_once(“conn.php”); //援用conn.php,毗连数据库
title=_POST[“title”];
content=_POST[“content”]; //取得表单变量

//以下创立一文本文档,其值主动计数
countfile="count.txt";
if(!file_exists(countfile))
{
fopen(countfile,"w"); //假如此文件不存在,则主动创立一个
}
fp=fopen(countfile,"r");
num=fgets(fp,20);
num=num+1; //每次其值主动加一
fclose(fp);
fp=fopen(countfile,"w");
fwrite(fp,num); //更新其值
fclose(fp);


//使用下面主动计数的值取得HTML的途径path
houzui=”.html”;
path=num.houzui;
//如许构成的途径是主动增加的,如1.html,2.html,3.html……….添加一条旧事便主动加上1

//以下用SQL语句添加数据至表 news
  以下是代码片断,把《》换成<>:
sql=”insert into news (title,content,path) values (‘”.title.”’,’”.content.”’,’”.path.”’)”;
query=mysql_query(sql);
//以下为关头的地方,把从表单取得的数据交换模板中的{title},{content}标志
  以下是代码片断,把《》换成<>:
fp=fopen(“model.htm”,”r”) //只读翻开模板
str=fread(fp,filesize(“mode.htm”));//读取模板中内容
str=str_replace(“{title}”,title,str);
str=str_replace(“{content}”,content,str);//交换内容
fclose(fp);

handle=fopen(path,”w”); //写入体例翻开旧事途径
fwrite(handle,str); //把方才交换的内容写进生成的HTML文件
fclose(handle);

//扫尾任务:
  以下是代码片断,把《》换成<>:
echo “<a href=path target=_blank>检查方才添加的旧事</a>”;
OK,全部生成HTML的示例源码就到这里,其关头是用了交换的办法。
str=str_replace(“{被交换的内容}”,交换的内容,str);

因而,总结一下以上的做法:先设计好旧事模板,把需求被交换的内容用{ }放到模板中响应的地位,然后设计表单,再是最初的表单处置法式,把从表单中获得的变量交换模板中响应的内容便可,如许每次城市生成分歧的HTML;假如需求修正HTML的内容也是一样的,取得修正后的表单内容后,先用 update 语句更新数据库,再从头交换一下模板中的内容便可;删除的话,先delete表中要删除的内容,再用unlink(path) 来删除HTML的物理文件便可。
不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
作者: 莫相离    时间: 2015-2-4 06:31
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 变相怪杰    时间: 2015-2-9 17:45
当然这种网站的会员费就几十块钱。
作者: 再现理想    时间: 2015-2-10 03:36
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 若相依    时间: 2015-2-10 07:57
实践是检验自己会不会的真理。
作者: 飘灵儿    时间: 2015-2-24 21:25
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 分手快乐    时间: 2015-3-1 02:41
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 灵魂腐蚀    时间: 2015-3-15 14:09
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 兰色精灵    时间: 2015-3-16 03:05
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 小妖女    时间: 2015-3-20 03:56
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者: 仓酷云    时间: 2015-4-4 07:12
爱上php,他也会爱上你。
作者: 山那边是海    时间: 2015-4-4 11:17
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 乐观    时间: 2015-4-6 17:03
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 第二个灵魂    时间: 2015-4-14 05:16
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 因胸联盟    时间: 2015-4-21 22:30
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 小魔女    时间: 2015-4-22 04:22
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 柔情似水    时间: 2015-4-26 04:31
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 爱飞    时间: 2015-6-8 15:38
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 蒙在股里    时间: 2015-6-12 22:57
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2