首页 > 代码库 > 服务器 3
服务器 3
复习:
Web服务器
静态: HTML/CSS/JS/SWF/音视频 —— 客户端执行
动态: JSP/PHP/ASPX/Node.js —— 服务器端执行
PHP基础语法:
数据类型:
值类型:string boolean int float
复合类型:object array
特殊类型:null resource
运算符: . =>
逻辑结构: foreach($list as $k=>$v){ }
函数: function add($num1){ return ...; }
PHP操作MySQL:
(1)连接数据库服务器
$conn = mysqli_connect()
(2)提交SQL命令
$sql = "";
$result = mysqli_query($conn,$sql)
(3)查看执行结果
if()....
(4)关闭连接 —— 可以省略
mysqli_close($conn)
练习:
(1)编写SQL:huimaiche.sql,创建数据库huimaiche,表car( cid, cname, pic, price, isonsale, birthday ),试着添加两条记录
(2)编写PHP:car_add.php,接收客户端提交的cname, pic, price, isonsale, birthday,执行INSERT语句,把汽车信息添加到数据库中
(3)编写HTML:car_add.html,提供一个表单,让用户输入汽车信息,提交给car_add.php,实现汽车添加功能
(4)编写PHP:car_delete.php,接收客户端提交的cid,执行DELETE语句,把汽车信息从数据库中删除
(5)编写HTML:car_delete.html,提供一个表单,让用户输入待删除的汽车编号,提交给car_delete.php,实现汽车删除功能
今日目标:
(1)扩展学习PHP中常用函数 —— 掌握
(2)完整的CRUD功能点 —— 重点
(3)HTTP协议 —— 理论知识
1.扩展PHP常用函数
@ 放在一行的开头,用于压制此行的警告消息
die() 终止页面的执行,输出一个错误消息
mysqli_insert_id($conn) 返回刚刚执行的INSERT语句产生的自增编号
mysqli_affected_rows($conn) 返回刚刚执行的DML语句影响的行数
mysqli_fetch_row($result) 从结果集中抓取一行(索引数组)
mysqli_fetch_assoc($result) 从结果集中抓取一行(关联数组)
mysqli_fetch_all($result, MYSQLI_ASSOC) 从结果集中抓取所有记录行
mysqli_query()的返回值: (1)DML: insert delete update 失败:false 成功:true (2)DQL: select 失败:false 成功:查询结果集描述对象 |
2.SQL语句的分类
(1)DDL: Data Define Language,数据定义语言——定义列
DROP CREATE ALTER TRUNCATE
(2)DML: Data Manipulate Language,数据操作语言——操作行
INSERT DELETE UPDATE
(3)DQL: Data Query Language,数据查询语言
SELECT
(4)DCL: Data Control Language,数据控制语言——控制用户权限
GRANT REVOKE
3.完整的功能点演示:
基于单表的CRUD操作
Create Retrieve Update Delete 增删改查
4.理论学习:HTTP协议
学习HTTP协议有两个目标:
(1)调试AJAX应用中“看不见摸不着”的错误!
(2)对网站进行访问优化——面试题!
5.URL地址
URL:Unified Resource Locator,统一的资源定位符
URN:Unified Resource Naming,统一的资源命名符
URI:Unified Resource Idenfier,统一的资源识别符
URI = URL + URN
URL: <a href="http://tmooc.cn/logo.png">
<a href="http://www.mamicode.com/register.php?k=v&k=v">
URN: <a href="mailto:admin@sohu.com">
<a href="http://www.mamicode.com/tel: 13501234567">
<a href="javascript: void(0)">
一个URL地址最完整的格式:
<scheme>://<user>:<pwd>@<host>:<port>/<path>;<params>?<query>#<frag>
练习:记忆常见协议的默认端口号
6.HTTP协议概述
Hyper Text Transfer Protocol,超文本传输协议,用于在浏览器和Web服务器之间传输超文本网页,如HTML、CSS、JS、图片...;
HTTP/0.9 1991年,有设计缺陷
HTTP/1.0 1996年,第一个稳定正式颁布 RFC-1945
HTTP/1.1 1999年,目前通用版本 RFC-2616
Request For Comment 意见征求稿
面试题:HTTP/1.0到HTTP/1.1有哪些改进? (1)虚拟主机:在一个Web服务器中并存多个站点 Host: tmooc.cn (2)持久连接:一次请求完成后,不要马上断开连接,再保持一会儿 Connection: keep-alive (3)代理连接:客户端可以通过代理服务器间接访问目标服务器 Proxy: xxxx |
HTTP协议的具体内容,规定了如下两种消息的格式:
(1)请求消息: 客户端发给服务器的
(2)响应消息: 服务器发给客户端的
课后练习:
(1)HTML中base标签的含义是什么?
(2)阶段小项目:留言板
功能:
1)发表留言: 用户在一个表单中提交自己的姓名、电话、以及留言内容,点击提交按钮即可发表。
2)浏览所有留言: 可以查看到编号、姓名、电话、内容、发布时间。
3)删除某个留言: 点击某个留言右上角的X删除该留言。
编写顺序: 创建SQL->创建PHP->创建HTML
需要的文件:
1)编写SQL:tarena.sql,创建一个留言表 msg,包含留言编号mid、发布人姓名uname、联系电话phone、发布时间pubTime、留言内容content
2)编写PHP: msg_add.php,接收客户端提交的uname、phone、pubTime、content,添加到数据库中
3)编写HTML:msg_add.html,提供一个表单,辅助用户提交一条新的留言
4)编写PHP:msg_select.php,在一个DIV列表中显示出所有的留言
5)编写PHP:msg_delete.php,接收客户端提交的mid,从数据库中删除该留言
6)修改PHP:msg_select.php,为“删除”超链接添加事件监听,点击后,删除该留言
<a href="http://www.mamicode.com/1">×</a>
<a href="http://www.mamicode.com/2">×</a>
<a href="http://www.mamicode.com/3">×</a>
挑战性需求:点击“删除”先弹出一个确认框,如果用户选择“是”,才真正跳转到删除页面,否则不跳转。
服务器 3