Day8 PHP

PHP诞生於1995年,专门为了拿来开发动态网页的开源语言,使用者(Client)透过 HTML 或是 JavaScript 将特定资料传送至服务器(Server),PHP依照商务逻辑处理後回传资料,最有名的PHP网站应该非Facebook莫属,现今许多由WordPress构成的网站也是基於PHP做开发的。

今天的例子回延续昨天的资料库设计当主题:将使用者表显示在页面上。

首先写出一个 HTML 并加入 Form tag, Form tag 能将资料指定的PHP档案处理事情。
action填入要指向的PHP档。
method有GET及POST两种,今天先用GET当练习即可。
type为text的 input 让使用者可以输入要显示几笔资料。
type为submit的 input 让使用者可以送出表单。

<!DOCTYPE html>
<html>
<head>
	<title>Member list</title>
</head>
<body>
	<h1>Click to list members</h1>
	<form action='day8.php' method="GET">
		<input type="text" name="limit" placeholder="limit">
		<input type="submit">
	</form>
</body>
</html>

https://ithelp.ithome.com.tw/upload/images/20210908/20115048brYJTflRgN.jpg

1.接着创建一个day8.php档案
2.php档案的最上方记得加入<?php让电脑可以辨识档案类型
3.hostname 为资料库的IP或是domain name
4.username 为使用者名称,昨天安装的XAMPP内建是用root(最大权限),如果是对外环境记得要做权限控管
5.password 为使用者密码,XAMPP的root是不需要密码的,就跟拿到你的信用卡就可以爆刷一波,是不是很危险?
6.databasename 为昨天创建的资料库名称
7.$_GET 可以取到form表单method为GET送出的参数,$_POST则为method为POST送出的参数
8.这边有用到一个方法叫三元式,如果limit参数为空字串,也就是使用者没有输入,则回传0笔资料,如果使用者有输入笔数,那就设定回传笔数
9.query为组合的请求字串,回全member表单的所有资讯,LIMIT指令则为限制回传笔数
10.connect为一个资料库连线物件,将准备好的资料库讯息填入
11.result为送出指令後回传的结果
12.接下来就是要将资料返回页面了,因为不能有几笔资料就要手动一行一行code去打,所以有了回圈,可以将逻辑写好在回圈里让电脑帮你自动处理,比较常用的回圈稍微提一下:while loop、do loop、for loop、foreach
13.fetch_assoc()会一个row的资料取出,配合while回圈与echo即可回传资料至页面
14.最後写一个回原本页面的连结
15.储存後将HTML及PHP档案放到xampp的htdocs资料夹里就可以使用了

<?php

$hostname = '127.0.0.1';
$username = 'root';
$password = '';
$databasename = 'iron_man';

$limit = $_GET['limit'] == '' ? 0 : $_GET['limit'];

$query = 'SELECT * FROM members LIMIT ' . $limit;

$connect = new mysqli($hostname, $username, $password, $databasename);
$result = $connect->query($query);

while ($data = $result->fetch_assoc()) {
		echo $data['id'] . ' - ' . 
			$data['member_id'] . ' - ' .
			$data['name'] . ' - ' .
			$data['phone_number'] . ' - ' . 
			$data['created_at'] . "<br>";
}

echo "<a href='day8.html'>回原本页</a>";

https://ithelp.ithome.com.tw/upload/images/20210908/20115048zdrZqI5jaO.jpg

最原生的HTML、CSS、JavaScript、PHP的作法已经大致上介绍一遍了,接下来就要进入到现代化的网页工程模式了,但这些最基础的东西还是值得好好研究一下,毕竟现代化的框架也是架构在这些基础之上的。

传统的东西就介绍到这边结束了,明天要开始进入Modern Web了,谢谢观看的各位,请记得按赞分享开启小铃铛,你的支持会让按赞数+1。


<<:  铁人赛 Day8 -- 一定要知道的 CSS (五) - align & 如何使 ''Div'' 区块 置中对齐

>>:  从 IT 技术面细说 Search Console 的 27 组数字 KPI (8) :KPI 层级

【Day 28】- 这个验证码有点难破解(应对反爬虫技术-验证码篇)

前情提要 昨天使用了 Dcard 的 API 来爬取 Dcard 上面的文章。 开始之前 各位开始在...

for 回圈基本要点

for回圈(英语:for loop)在计算机科学是一种程序语言的迭代陈述,能够让程序码反覆的执行。 ...

Day30 WebRTC 一对多连线

上一篇我们使用 addTransceiver 单向接收串流 ,但是却不能两个人一起接收,今天我们要来...

[Day20] JavaScript - Event Bubbling (事件冒泡) & Event Capturing (事件捕获)

Event Flow 事件流 DOM的Event flow概念,指的是「网页元素接收事件的顺序」。 ...

[Day 04] 深度学习与神经网路

话说小弟推出孔子和耶稣都讲过「初恋无限美」的「刻骨铭心初恋金银情侣套餐」时,竟被中国厨艺学院105届...