仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1058|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网站制作之静态网页手艺--CGI:ASP:JSP:PHP(1)

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:07:43 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样东西。   稍为对收集有点熟习的人都晓得,HTML是编制网页的根基言语,但它只能用于静态的网页。现今的Web已不再是初期的静态信息宣布平台,它已被赋以更丰厚的内在。如今,咱们不但需求Web供应所需的信息,还需求供应可特性化搜刮的功效,可以收发email,可以停止网上发卖,可以从事电子商务等等。为完成以上功效必需利用更新的收集编程手艺制造静态网页。所谓静态,指的是,依照会见者的分歧需求,对会见者输出的信息作出分歧的呼应,供应呼应的信息。笔者依据本人的实践利用履历,写下心得感触感染,并举例申明。
  静态网页手艺的道理是:利用分歧手艺编写的静态页面保留在WEB办事器内,当客户端用户向WEB办事器收回会见静态页面的恳求时,WEB办事器将依据用户所会见页面的后缀名肯定该页面所利用的收集编程手艺,然后把该页面提交给响应的注释引擎;注释引擎扫描全部页面找到特定的定界符,并履行位于定界符内的剧本代码以完成分歧的功效,如会见数据库,发送电子邮件,履行算术或逻辑运算等,最初把履行了局前往WEB办事器;终究,WEB办事器把注释引擎的履行了局连同页面上的HTML内容和各类客户端剧本一同传送到客户端。固然,客户端用户所吸收到的页面与传统页面并没有任何区分,然而,实践上页面内容已经由了办事端处置,完成了静态的特性化设置。今朝完成静态网页次要有以下4种手艺。
1.CGI手艺
  CGI ---Common Gateway Interface,公用网关接口。它可以称之为一种机制。因而您可使用分歧的法式编写合适的CGI法式,如Visual Basic、Delphi或C/C++等,您将已写好的法式放在WEB办事器的盘算机上运转,再将其运转了局经由过程WEB办事器传输到客户真个阅读器上。咱们经由过程CGI创立WEB页面与剧本法式之间的接洽,而且可以使用剧本法式来处置会见者输出的信息并据此作出呼应。现实上,如许的编制体例对照坚苦并且效力低下,由于你每次修正法式都必需从头将CGI法式编译成可履行文件。
  最经常使用于编写CGI手艺的言语是Perl(Practical Extraction and Report Language,文字剖析呈报言语),它具有壮大的字符串处置才能,出格合适用于朋分处置客户端Form提交的数据串;用它来编写的法式后缀为.pl。
咱们来看个复杂的例子hello.pl:
#!/usr/bin/perl
$Hello="Hello,CGI"; #字符串变量;
$Time=2;
print $Hello," for the",$Time,"nd time!","\n"; #输入一句话;
# End hello.pl
输入了局:
Hello,CGI for the 2nd time!
  法式中第一个正文行具有特别的寄义,它是UNIX体系中shell的一条指令,暗示在号令行上运转厥后的号令。第一行是必须的,/usr/bin/perl供应了Perl注释器的完全途径名。例中的井号(#)为Perl言语中的正文字符。P erl手艺参考站点:http://www.perl.com。
  CGI挪用数据库需求装置DBI----DataBase Interface,即数据库接口手艺。DBI供应了基于Perl的尺度界面毗连到各类分歧的SQL引擎上。各类数据库的DBI模块可在此找到:http://www.perl.com/CPAN-local/modules/by-module/DBI/。以下是毗连ORACLE数据库的一个例子:
use DBI; #挪用DBI;
#以下三项是数据库名,挪用数据库的用户名,暗码;
$dbname="dbi:Oracle:DBName";
$user="user";
$pass="pass";

#接洽数据库;
$dbh=DBI->connect($dbname,$user,$pss) || die "Error Connecting to database \n";

#数据库查询;
$tag=$dbh->prepare("SELECT * FROM 表名");
$tag->execute; #履行查询;
die "Error:$DBI::err\n" if DBI::err; #失足判别;
my($col1,$col2); #界说只在本法式中(用my来暗示)无效的两个变量;
while(($col1,$col2)=$tag->fetchrow) {
print "Column 1:$col1\n";
print "Column 2:$col2\n";
}
$dbh->disconnect or warn "Disconnection failed \n"; #断开与数据库的毗连;
CGI手艺已开展的很成熟了,功效壮大,例如SINA,NETEASE,SOHU等网站的搜刮引擎,用的就是CGI手艺。

也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧!
飘飘悠悠 该用户已被删除
沙发
 楼主| 发表于 2015-4-16 17:10:17 | 显示全部楼层
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-20 16:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表