您的位置 首页 php

PHP基础知识讲座:第3课,来一波最基础出现频率最高的实现方式吧

使用服务器端的脚本语言的优势就是能够为用户提供动态的内容,只有提供符合用户需求的动态内容,才能促使用户不断的来访问这个网址。
 

同学们好呀!木辛老师又来了。

之前的课程里,讲了一些HTML的知识,但是并没有将PHP代码加入其中。所以,我们还没有看到PHP实现的一些更加生动的功能。

今天呢,我们就尝试通过修改之前的页面,增加一些有意思的动态功能吧。

暖身小例子

先来一个简单的例子暖暖身子:

<html>
 <head>
 <title>订单处理结果</title>
</head>
<body>
 <h1> 木辛老师的在线图书馆</h1>
 <h2> 订单处理结果通知</h2>
 <?php
 echo '<p>订单已处理完成</p>'; # 这里是PHP的代码
 echo "处理时间为:" . date("H:i:s");
 ?>
</body>
</html>
 

我们将上一节课的代码稍微修改了一下,增加了一个动态获取数据的语句

echo "处理时间为:" . date("H:i:s");
 

通过这次修改,用户在每次提交完订单之后,都能看到订单被处理的时间。当用户提交多次订单的时候,对应的提交时间是动态变化的,都是显示的是用户提交时间的点的时间。

这个PHP的内置函数

date()
 

是PHP提供的获取当前系统时间的一个函数。

PHP具有一个包含非常多函数的函数库,当开发人员进行页面Web开发的时候,可以借助这些函数库的强大支持,完成很多非常实用、非常强大的功能。

具体函数的调用和定义,我们在之后的课程里会详细介绍。

在这里,就先简单讲讲调用date()函数的方法吧。

我们在调用date()函数的时候,需要通过函数的名字,后边加上一对圆括号,并传入一串限定时间格式的 字符串 完成函数的调用。其中这串字符串又被称为函数的参数。

函数调用成功之后,会接着返回对应的数据,在这里,我们会得到一串当前系统的时间。

返回的系统时间的格式就完全符合,H:i:s这样的格式。H代表的是24小时格式的小时,i代表的是分钟,s代表的秒,如果小时数和分钟数、秒数是个位数,系统会自动在其对应位数前补0。

来让我们刷新下页面看看实际的效果吧:

时区问题

细心的同学可能发现了一个问题,页面上显示的处理时间是3点多,而电脑显示的当前时间是11点多。这到底是怎么回事捏?刚才不是说date()函数获取的是系统的当前时间吗?

嗯,非常好!

产生这个问题的原因是因为在使用PHP脚本的时候,我们需要先设置时区。具体可以通过以下两种方式:

  1. 在php.ini文件中添加date.timezone进行设置;
  2. 在当前文件中通过设置时区也是可以实现的,比如像这样设置:
date_default_timezone_set('Asia/Shanghai');
 

修改一下代码看看是否起作用吧?

<html>
 <head>
 <title>订单处理结果</title>
</head>
<body>
 <h1> 木辛老师的在线图书馆</h1>
 <h2> 订单处理结果通知</h2>
 <?php
 date_default_timezone_set('Asia/Shanghai');
 echo '<p>订单已处理完成</p>'; # 这里是PHP的代码
 echo "处理时间为:" . date("H:i:s");
 ?>
</body>
</html>
 

刷新一下看看效果:

解决时区问题了

非常好,问题解决了!

通过上边的学习,我们已经初步了解了如何在HTML页面中输出动态的内容了。但是,即使这样,还是需要通过页面上设置函数才能实现,有没有什么方式可以获取到用户输入的内容呢?

就像我们的前一个页面,用户在输入框中输入的数量,应该如何获取呢?

访问表单

不用担心,使用PHP脚本可以实现访问每一个表单域。比如获取其中一本图书的数量的数据:

<tr>
 < td >PHP入门指南</td>
 <td><input type="text" name="book_name_01" size="3" maxlength="3"/></td>
</tr>
 

咱们可以通过如下方法获取到book_name_01的内容:

$_POST[‘book_name_01’]
 

修改一下PHP文件,看看是否真的能获取这个值吧:

首先看看修改后的代码:

<html>
 <head>
 <title>订单处理结果</title>
</head>
<body>
 <h1> 木辛老师的在线图书馆</h1>
 <h2> 订单处理结果通知</h2>
 <?php
 date_default_timezone_set('Asia/Shanghai');
 echo '<p>订单已处理完成</p>'; # 这里是PHP的代码
 echo "<p>处理时间为:" . date("H:i:s") . "</p>";
 echo "<p>获取的的数据:【" . $_POST['book_name_01'] . "】</p>";
 ?>
</body>
</html>
 

我们在php代码中添加了获取数据的语句:

echo "<p>获取的的数据:【" . $_POST['book_name_01'] . "】</p>";
 

重新刷新下提交数据页面代码之后,输入一个数字:

html页面

最后,点击“提交订单”按钮。看一下php文件是否成功获取到了数据:

获取提交的数据

大家可以看到在页面的最后,我们成功获取到了提交的图书的数量:2。这就正面了通过$_POST的方式是正确的。

这里需要注意一点:在使用这种方式获取数据的时候,大家一定不要将前置的$符号丢失,否则PHP就不会正常运行了,就没法获取到目的数据了!

这种错误在php的开发过程中也是非常常见的!

使用$_POST这种方式获取数据,得到的数据是一个数组,其中包含了通过HTTP POST协议提交到服务器端的数据。除了这一种方式之外,PHP还包含其他几种方法通过不同的方式获取数据,比如:

  1. $_GET
  2. $_REQUEST

其中$_GET方式,见名知意,是通过HTTP GET方式获取数据的,而$_REQUEST则可以同时获取GET和POST提交的所有数据。

以上三种方式,大家通过它们读取数据的方式可以看出来,他们其实是数组,在PHP中也被称为:超级全局数组;

super

之后的内容里我们还会经常用到他们,更加详细的讲解会慢慢付出水面哟。

请持续关注木辛老师的编程课程,获取更多php的开发知识和开发经验哈!

虽然使用$_POST、$_GET可以很方便的获取表单提交的数据,但是每次都按照读取数组元素的方式使用,非常不方便。

再说了,在程序中使用变量一定要见名知意和简洁,这样在后期代码维护的时候才会事半功倍哟

(在这里对木辛老师html表单中图书数量的变量名提出批评,望改正!)。

既然说到这里了,PHP中肯定存在更优雅的解决办法!

是的,无数聪明绝顶的PHP开发工程师们早就已经有小技巧解决这种问题了:

可以通过创建对应的变量拷贝就可以。

这是什么意思呢?

简言之就是使用一个名称简洁、明了的变量代替超级全局数据对应的值。也就是将一个变量的值赋值给另一个变量,在php中可以通过赋值操作符实现,比如:

name_of_book = $_POST['book_name_01’];
 

通过这种方式,新创建了一个变量name_of_book,在之后的代码中就可以直接使用这个变量代替表单中提交的数据了。

终于获取到表单数据,可以提供更好的交互操作了,同时还让程序更加易读。

说到程序易读,这个愿望应该是编程过程中持续不断的需求,为了以后的自己和他人,保持一个良好的编程习惯和整洁的代码,是一个优秀的PHP大牛的必备基础技能哟!

说到这里,我们今天的内容将的差不多了,大家在学习到今天的内容转换,应该就可以完成简单的表单提交和php动态数据的操作了,不过这只是开始,剩下的旅程还很长,大家仍需要继续努力!

最后呢,木辛老师再讲一个非常基础的知识,但是非常常用的功能吧。

大家可能有注意到php代码中,我们在输出内容的时候,做了一个功能,就是实现了两段字符串的连接:

echo "<p>处理时间为:" . date("H:i:s") . "</p>";
echo "<p>获取的的数据:【" . $_POST['book_name_01'] . "】</p>";
 

先输入一个字符串提示后方的数据时什么,而后输出动态的内容。

这两段字符串之间使用的英文的句点。

是的!

在PHP中,使用频率最高的字符串连接方式就是使用这个小句点连接不同的字符串。

好了,今天的课程就到这里吧,今天咱们学习了几个php开发中最最基础,但是出现频率相当高的实现方法,掌握了这些小技巧,对于后续的进一步的开发会起到异常重要的作用。

小朋友们不要忘记关注我们哟 ,下期课程更精彩,请大家一起期待吧~

快乐编程,快乐成长,拜拜!

文章来源:智云一二三科技

文章标题:PHP基础知识讲座:第3课,来一波最基础出现频率最高的实现方式吧

文章地址:https://www.zhihuclub.com/79439.shtml

关于作者: 智云科技

热门文章

网站地图