来自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 相关文章推荐
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
Mar 07 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
php json转换成数组形式代码分享
Nov 10 PHP
PHP也能干大事 随机函数
Apr 14 PHP
详细解读PHP的Yii框架中登陆功能的实现
Aug 21 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
Dec 18 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 PHP
PHP中非常有用却鲜有人知的函数集锦
Aug 17 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 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
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
PHP调试函数和日志记录函数分享
2015/01/31 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
javascript 得到变量类型的函数
2010/05/19 Javascript
JS 控件事件小结
2012/10/31 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
页面使用密码保护代码
2013/04/10 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
ant design vue中表格指定格式渲染方式
2020/10/28 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
Java如何获得ResultSet的总行数
2016/09/03 面试题
项目经理岗位职责
2013/11/11 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
反邪教警示教育方案
2014/05/13 职场文书
工程项目经理任命书
2014/06/05 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
扬州个园导游词
2015/02/06 职场文书
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android
springboot用户数据修改的详细实现
2022/04/06 Java/Android