• 服务器 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>

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

  • 相关阅读:
    编译pypcap
    python输出重复字符串的简单办法
    Python天天美味(1) 交换变量(转)
    Python天天美味(4) isinstance判断对象类型(转)
    Python天天美味(2) 字符遍历的艺术(转)
    Python天天美味(3) 字符转换(转)
    Python天天美味(5) ljust rjust center(转)
    Python天天美味(6) strip lstrip rstrip(转)
    Python天天美味(10) 除法小技巧(转)
    Python标准库12 数学与随机数 (math包,random包)(转)
  • 原文地址:https://www.cnblogs.com/Hale-Proh/p/7199772.html
Copyright © 2020-2023  润新知