D24 第九周 php 留言板作业的心得之二

到底是页面还是纯指令

这是一开始碰 php 的时候会觉得蛮混乱的地方,或者说网页後端的情况应该都差不多。

先问一个问题感受一下。请问 add_comment.php 这究竟是一个新增留言的页面?还是用来处理新增留言表单资料的指令页呢?

简单说明

  • 页面:直接写 html 或是透过 php echo XXX 的方式产生 html 的内容
  • 纯指令:只有 php 程序码,本身不会产生 html 内容,但会透过 header("Location: <网址>"); 的方式跳转到指定页面

纯指令通常像是 login, logout, add_comment, delete_commonet 这一类,本身只是一个「动作」,但在接受这些「动作」之前,通常会需要一个网页表单让使用者在上面输入资料 (帐号、密码、留言内容…等),所以会存在一个相对应的「页面」,於是就产生了「页面」和「纯指令」的区别

纯指令有一个最大特色就是一定会有 header("Location: <网址>"); 做跳转页面,虽然可以在纯指令里面写 echo 或是 html 内容,但页面最终还是会因为 header 的关系跳转页面,所以写了也是白写。

php 官方文件上也建议不要把 纯指令页面 混在一起写,以免页面呈现内容很混乱无法管理。
// 到截稿还是没找到原出处,如果网路大德知道出处也欢迎留言告知,感谢

在作业,我的处理方式是纯指令的 php 档名加上 cmd_ 前缀做为区隔。

留言板 分页机制

这算是写留言板需要注意的地方。因为跟资料库要留言结果回传 1000 笔资料的话,姑且不论对资料库会不会造成过大的效能负担,页面要显示那麽多笔资料也是不太好阅读的,所以这时候就需要一个分页机制。

在 SQL 这边是使用 OFFSET, LIMIT 这两个参数来控制获取资料的数量和位置。

课程中还有介绍另外一种分页机制叫做 "Cursor-based pagination",主要是采用 id 作为定位的基准点。概念上也算容易实作,可以参考这篇文章 的说明

注: 这几天写作状态没有很好,但还是希望尽量维持当天的文章当天写,以日更的方式走完铁人赛。


<<:  第二十天:Gradle task graph

>>:  Leetcode: 1971. Find if Path Exists in Graph

Day24 斜线糖果文字

斜线糖果文字 教学原文参考:斜线糖果文字 这篇文章会介绍在 GIMP 里使用凹凸贴图、渐层重复、选取...

Day.7 深入理解动态连结

为甚麽会出现动态连结? 动态连结出现的原因就是为了解决静态连结中提到的两个问题: 浪费空间,因为每个...

【D14】熟悉厨具:订阅Subscribe

前言 看了一些交易资料,现在来看看行情订阅Subscribe吧~ 参考网站:Stocks 参考网站:...

[Day 11] Select 下拉

Day10 在许多登入画面会选择某些内容 像选择参观网站是否满18岁等等选项 所以可以用下拉选单来显...

MyBatis 实际测试

MyBatis 实际测试 ...