服务器 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="../register.php?k=v&k=v">

       URN:       <a href="mailto:admin@sohu.com">

                     <a href="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=" 1">&times;</a>

<a href=" 2">&times;</a>

<a href=" 3">&times;</a>

 

挑战性需求:点击“删除”先弹出一个确认框,如果用户选择“是”,才真正跳转到删除页面,否则不跳转。

 

posted @ 2017-07-18 11:59  Hale.Proh  阅读(195)  评论(0编辑  收藏  举报