来自PHP.NET的入门教程


Posted in PHP onOctober 09, 2006

PHP是一种创建动态网页的工具。嵌入PHP代码的网页就像普通的HTML文件一样,你可以使用任何你喜欢的编辑器对它进行编辑。本教程的所描述的对象是PHP 3.0 .

我需要什么?

在本教程中,我们假设你的服务器已经支持PHP,并且所有的文件都以.php3作为扩展名。在大部分服务器上,这是PHP文件的缺省扩展名,你可以向你的管理员确认一下。如果你的服务器支持PHP,这就足够了。很简单,建立你的PHP文件并且把它放到你的服务器上,那么服务器将会巧妙的对它进行处理。这不需要编译什么,也不需要安装什么额外的工具。你可以这样认为:PHP文件是加入了一组全新的巧妙的标签的普通HTML文件。

你的第一段PHP代码

上面这段代码的色彩只是给你一个视觉上的帮助,让你更容易理解PHP的标签及表达式的不同部分。请注意这不像CGI程序,不需要有可执行权限。你可以把PHP文件当作包含一组特殊标签的HTML文件,它可以做许多你感兴趣的事情。

这个程序是非常简单的,你无需专门为此建立一个WEB页面。它所做的就是显示: Hello World。
如果你试验过这段代码,但它却没有输出什么,问题可能是你的服务器不支持PHP。请询问你的管理员,确认一下。

前例的重点是向你介绍PHP的标签。用"<?php"标签作为PHP代码的开始,加上一条PHP语句,再以"?>"标签结束。正如例中所示,在HTML文件中你可以自由地进入和退出PHP模式。

些有用的东西

让我们再来做点更有意义的事情。假如我们要来检查一下用户的浏览器是什么,可以检查浏览器发送给WEB服务器的用户代理(User Agent)字符串。这个信息存放在一个名为$HTTP_USER_AGNET的变量中,用下面的语句很简单地就可以显示出这个变量的值:

<?php echo $HTTP_USER_AGENT;?>

如果用户用的是Internet Explorer,那么显示的结果可能是: Mozilla/4.0 (compatible; MSIE 4.0; Windows 98) 实际上,用户的浏览器还传递许多其它的内容。用以下代码你就能得到这些变量的一个完整的列表:

<?php phpinfo();?>

把这段代码存进一个文件,比如叫info.php3,再把它上传到你的服务器上,用浏览器打开它,你会看到很多令你吃惊的东西。 你可以放置多个PHP语句在一组PHP标签中,也可以用一个代码块来做更多的事。例如:假如我们要检查一下浏览器是否为MSIE,可以用下面的这段代码: 

<?php if (strstr($HTTP_USER_AGENT,"MSIE"))
{

echo "You are using Internet Explorer.<br>";
}
?>

这里我们将引入一些新的东西。 首先是“if”语句。如果你对于C语言的基本语法很熟悉,那么你就很容易看懂这段代码。如果不熟悉的话,建议找一些相关的书籍参考参考。PHP保留了C的简单语法,避免了C语言中难以控制的字符串和内存的处理。

第二,我们调用了一个函数:strstr()。strstr()是PHP内置的函数,用于在一个字符串中查找另外一个字符串,在例中我们在变量$HTTP_USER_AGENT中查找“MSIE”,如果找到字体串,那么该函数返回真值,即TRUE,否则反之。

下面我们再来看看如何进入和退出PHP模式,哪怕是在一个PHP代码块的中间:
<?php
if (strstr($HTTP_USER_AGENT,"MSIE")){
?>
<center><b>You are using Internet Explorer</b></center>
<?
}else{
?>
<center><b>You are not using Internet Explorer</b></center>
<?
}?>
用跳出PHP模式直接输出HTML代码的方法,来代替使用echo语句输出结果。非常重要的是:不能破坏php代码逻辑上的完整性,运行这段代码显示的结果也许是:
You are using Internet Explorer

处理表单

PHP的另一个强大的地方在于处理html文件中的表单。需要理解这样一个基本概念,所有HTML文件表单的元素会自动的以相同的名字被传送到目标页面当中。这好像有点难以理解,我们通过下面的例子来阐述这一点:

<form action="action.php3" method="post">
Your Name: <input type=text name=name>
Your Age : <input type=text name=age>
<input type="submit">
</form>

这个表单只是包含了必须的HTML标签,并不完整。当用户填好了这张表单,并且按下“Submit”按钮,文件action.php3被调用了。假如说这个文件中包含下面的代码:

Hi <?php echo $name;?>. You are <?php echo $age;?> years old.

它执行的效果显而易见,因为变量$name和$age被PHP自动设置好了。

更多的?

这个教程可能会再扩充,目前就到此为止。

其它的教程请参考:

WebMonkey

DevShed

phpTidbits

PHPBuilder.com

PHP 相关文章推荐
MySQL修改密码方法总结
Mar 25 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
PH P5.2至5.5、5.6的新增功能详解
Jul 14 PHP
PHP中mysql_field_type()函数用法
Nov 24 PHP
PHP获取photoshop写入图片文字信息的方法
Mar 31 PHP
PHP SOCKET编程详解
May 22 PHP
学习php设计模式 php实现建造者模式
Dec 07 PHP
老生常谈PHP面向对象之解释器模式
May 17 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 PHP
PHP新手上路(九)
Oct 09 #PHP
PHP新手上路(二)
Oct 09 #PHP
PHP新手上路(三)
Oct 09 #PHP
PHP新手上路(四)
Oct 09 #PHP
PHP新手上路(五)
Oct 09 #PHP
PHP新手上路(六)
Oct 09 #PHP
PHP新手上路(七)
Oct 09 #PHP
You might like
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
模拟flock实现文件锁定
2007/02/14 PHP
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
python实现web方式logview的方法
2015/08/10 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
城市规划毕业生求职信
2013/10/10 职场文书
数学与统计学院学生个人职业生涯规划书
2014/02/10 职场文书
基层党组织公开承诺书
2014/03/28 职场文书
租房安全协议书
2014/08/20 职场文书
工程技术员岗位职责
2015/04/11 职场文书
学校教学工作总结2015
2015/05/19 职场文书
秋收起义观后感
2015/06/11 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL