我们以一个提交订单和显示订单信息的例子为学习PHP的开始。这个例子包含两个文件。一个提交订单的html文件:orderform.html,一个显示订单信息的php文件:processorder.php。我将这两个文件放在test_1文件夹下,将test_1文件夹放在htdocs目录下。

文件的组织形式如下图所示(使用xampps安装的集成环境,具体请参考PHP学习(2)——运行环境搭建):

提交订单的html文件orderform.html如下所示:

<form action="processorder.php" method="post">
    <table>
        <tr bgcolor="#cccccc">
            <td width="150">Item</td>
            <td width="15">Quantity</td>
        </tr>
        <tr>
            <td>Tires</td>
            <td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td>
        </tr>
        <tr>
            <td>Oil</td>
            <td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td>
        </tr>
        <tr>
            <td>Spark Plugs</td>
            <td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="Submit Order" /></td>
        </tr>
    </table>
</form>

显示订单信息的php文件processorder.php如下所示:

<?php
// create short variable names, also can use '$_REQUEST['name']'
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
?>

<!DOCTYPE html>
<html>
<head>
    <title>Bob 's Auto Parts - Order Results</title>
</head>
<body>
    <h1>Bob 's Auto Parts</h1>
    <h2>Order Results</h2>
    <?php
    echo "<p>Order processed at ";
    echo date('H:i, jS F Y')."</p>";
    echo "<p>Your order is as follows: </p>";
    echo "$tireqty tires<br />";
    echo $oilqty.' bottles of oil<br />';
    echo $sparkqty." spark plugs<br />"
    ?>
    ---------------------------------------------------<br />
    <?php
    $testHeredoc = <<< EOF
    line 1
    line 2
    line 3
EOF;
    echo "$testHeredoc"."<br />";
    ?>
    ---------------------------------------------------<br />
    <?php
    echo "About Comment:";
    //Here is a comment.
    #Here is a comment too.
    /*
    Here is multi line comment.
    Here is multi line comment.
     */
    ?>
</body>
</html>

在浏览器中输入http://localhost/test_1/orderform.html,将显示填写订单信息页面,如下所示:

填入数字,然后点击“Submit Order”按钮提交内容。则页面将显示processorder.php经过PHP解析器解析之后生成的html页面,如下所示:

在这个例子中,我们可以学习到以下几点内容:

 1. 在html中嵌入php代码的语法格式为: <?php 代码内容 ?> 。
    需要注意的是开始符号“<?php”中间不能有空格。
 2. post方法提交的表单内容可以通过php的“$_POST[]”数组按照name获取,
    也可以通过“$_REQUEST[]”数组获取。这些数组为超级全局变量。
    关于数组和变量作用域之后会详解讲解。
 3. 字符串可以用单引号也可以使用双引号引起来。
    也可以用反单引号引起来(反单引号在键盘最左上角,与~是一个键)。
    三种引号作用不同。单引号内的字符串将被当作纯文本原样输出;
    双引号中如果有变量,则会替换成变量的值然后输出文本;
    反单引号被叫做执行符,php解析器会先执行反单引号中的内容,将执行之后的结果返回。
 4. 字符串可以使用点号“.”连接在一起。在php中点号是唯一的字符串连接符,相当于java中的“+”。
 5. php中有三种注释方式:分别为类Java的单行注释“//”;类shell的单行注释“#”;类Java的多行注释“/**/”。
 6.php中所有的变量使用时都是以“$”打头的, 并且变量使用时不需要提前声明。
   而且变量的类型也可以随时改变,这取决于赋值给变量的值的类型。php变量的类型是在每一次赋值时确定和改变的。

第一个php例子就说到这里,下一篇博客将开始介绍php的数据类型。

PHP学习(3)—在HTML中嵌入PHP的更多相关文章

  1. Java嵌入式数据库H2学习总结(三)——在Web应用中嵌入H2数据库

    H2作为一个嵌入型的数据库,它最大的好处就是可以嵌入到我们的Web应用中,和我们的Web应用绑定在一起,成为我们Web应用的一部分.下面来演示一下如何将H2数据库嵌入到我们的Web应用中. 一.搭建测 ...

  2. Linux内核设计第四周学习总结 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    陈巧然原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用库函数A ...

  3. 在C中嵌入汇编

    早前公布了C和汇编混编的温度控制器程序,收到一些朋友的询问,他们无法在自己程序中使用我的18B20的汇编子程序或无法正常通过混编后的程序编译. 其实在KEIL中嵌入汇编的方法很简单.如图一,在C文件中 ...

  4. 实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(杨光)

    使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 攥写人:杨光  学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程 ...

  5. 在c语言中嵌入汇编语句,对于我来说相当难。

    今天早上在csdn论坛上看到一个帖子http://topic.csdn.net/u/20120917/14/82f42e17-977a-4824-95bd-7b79db15d283.html:“C语言 ...

  6. Lua和C++交互 学习记录之一:C++嵌入脚本

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  7. SWT中嵌入Swing的JTextFeild却不能编辑

    SWT中嵌入Swing的JTextFeild却不能编辑 学习了:http://www.iteye.com/problems/49487   膜拜一下 org 竟然有这样的坑,需要在中间添加一个JApp ...

  8. PHP中嵌入正则表达式常用的函数

    PHP中嵌入正则表达式常用的函数有四个: 1.preg_match() :preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 . 语法:int preg_match( ...

  9. h5中嵌入视频自动播放的问题

    在H5页面中嵌入视频的情况是比较多件的,有时候会碰到需要自动播放的情况,之前根本觉得这不是问题,但是自己的项目中需要视频的时候就有点sb了,达不到老板的要求,那个急呀~~~ 各种查资料,找到一个方法, ...

随机推荐

  1. [C#]使用 Jenkins 为 .Net Core 实现持续集成/部署

    在前后端分离开发的项目当中为了避免重复构建发布,我们需要部署一个持续发布环境,而目前的开发环境服务器都是基于 CentOS 的,因此每次在本地发布之后还需要打包,上传,部署,十分繁琐.故这里采用了比较 ...

  2. [LeetCode] Decode Ways II 解码方法之二

    A message containing letters from A-Z is being encoded to numbers using the following mapping way: ' ...

  3. [LeetCode] Add One Row to Tree 二叉树中增加一行

    Given the root of a binary tree, then value v and depth d, you need to add a row of nodes with value ...

  4. Caffe的运行mnist手写数字识别

    老规矩,首先附上官方教程:http://caffe.berkeleyvision.org/gathered/examples/mnist.html 1.必要软件 因为Caffe中使用的是Linux才能 ...

  5. [Luogu 1284]三角形牧场

    Description 和所有人一样,奶牛喜欢变化.它们正在设想新造型的牧场.奶牛建筑师Hei想建造围有漂亮白色栅栏的三角形牧场.她拥有N(3≤N≤40)块木板,每块的长度Li(1≤Li≤40)都是整 ...

  6. 【BZOJ3110】【ZJOI2013】k大数查询

    原题传送门 题意简析 给定一个区间,可以在这个区间上每个整数点插入若干个数(这些数数值可以重复)你需要支持2种操作: 1)在[a,b]间所有整数点插入c 2)查询[a,b]内第c大的数 解题思路 树套 ...

  7. 51Nod 1125 交换机器的最小代价

    题目描述: 有N台机器重量各不相等,现在要求把这些机器按照重量排序,重量从左到右依次递增.移动机器只能做交换操作,但交换机器要花费一定的费用,费用的大小就是交换机器重量的和.例如:3 2 1,交换1 ...

  8. [暑假的bzoj刷水记录]

    (这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊  堆一起算了 隔一段更新一下.  7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27upd ...

  9. bzoj 1217: [HNOI2003]消防局的设立

    Description 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了 ...

  10. 数据结构与算法 —— 链表linked list(05)

    反转一个单链表. 进阶:链表可以迭代或递归地反转.你能否两个都实现一遍? 示例 : 给定这个链表:1->2->3->4->5 返回结果: 5->4->3->2 ...