来自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 相关文章推荐
PHP4实际应用经验篇(4)
Oct 09 PHP
php调用google接口生成二维码示例
Apr 28 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 PHP
php实例分享之html转为rtf格式
Jun 02 PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
PHP使用pdo实现事务处理操作示例
Sep 05 PHP
Laravel框架实现超简单的分页效果示例
Feb 08 PHP
深入解析PHP底层机制及相关原理
Dec 11 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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
PHP微信API接口类
2016/08/22 PHP
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
python入门前的第一课 python怎样入门
2018/03/06 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
中科创达面试题
2016/12/28 面试题
外贸销售员求职的自我评价
2013/11/23 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
自荐信大全
2019/03/21 职场文书