来自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防注
Jan 15 PHP
需要发散思维学习PHP
Jun 29 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
PHP随机生成随机个数的字母组合示例
Jan 14 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
PHP接收json 并将接收数据插入数据库的实现代码
Dec 01 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 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
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
Laravel 5 学习笔记
2015/03/06 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
详解vue2路由vue-router配置(懒加载)
2017/04/08 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
python网络编程学习笔记(10):webpy框架
2014/06/09 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
mac下如何将python2.7改为python3
2018/07/13 Python
用python做游戏的细节详解
2019/06/25 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
查询优化的一般准则有哪些
2015/03/08 面试题
电厂厂长岗位职责
2014/01/02 职场文书
政府门卫岗位职责
2014/04/29 职场文书
企业金融服务方案
2014/06/03 职场文书
销售经理工作检讨书
2015/02/19 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
优质服务标语口号
2015/12/26 职场文书
flex弹性布局详解
2022/03/20 HTML / CSS