HeadFirst PHP&MySQL 重点知识点记录(二)

1.foreach语句用来循环处理一个数组,一次处理一个元素,而无需使用测试条件。在循环内部,可以访问这个数组的各个元素。(这点和JS的差不多)
2.内置PHP isset()函数查看一个变量是否存在,这是指它是否已经赋值。empty()会确定一个变量是否包含空值(0、空串、false或NULL)。
3.include,include_once,require,require_once,这类PHP语句允许在应用中的多个脚本文件之间共享脚本代码,消除重复代码,使代码易于维护。
4.$FILES 这个内置PHP超级全局变量存储通过文件上传表单上传的文件的有关信息。可以用它来确定文件名、文件的临时存储位置、文件大小、文件类型以及文件的其他方面。
5.header()这个内置PHP函数用于从服务器向浏览器发送一个首部,从而完成诸如重定向一个页面、指定某种内容类型或完成HTTP认证等任务。
6.exit()这个内置PHP函数会导致PHP脚本立即停止。一旦脚本遇到该函数,将不再执行任何其他PHP代码,也不会向浏览器传送其他HTML代码。
7.is_numeric()这个内置PHP函数查看一个值是否是一个数字。查看一个数值表单域确实包含数字值会非常有用。
8.trim(),mysqli_real_escape_string()这两个内置函数可以很方便的处理表单数据,防止有问题的字符干扰SQL查询。trim()函数会去除前导和末尾空格,mysqli_real_escape_string()会对特殊字符转义。
9.HTTP认证是一种简单的WEB安全技术,通过使用一个用户名和口令限制对WEB页面的访问。通过$_SERVER可以获取用户输入的用户名和口令。
10.表单验证可以是WEB应用更安全。
11.SQL注入是一种破坏安全性的方法,坏人以某种方式破坏一个SQL查询从而非法访问数据库。大多数SQL注入都是骗过WEB表单在一个动态伪造的查询中直接传入危险的数据。所以这个问题的解决方法往往是表单验证。
12.SHA()代表安全散列算法,“散列”(hash)表示唯一的固定长度串,可以唯一表示一个文本串。SHA()是MySQL函数,用于对一段文本加密,得到一个包含40个十六进制字符的串。不过,这是一种单向加密。SHA()比MD5()更安全。PHP也提供了等价的函数,比如sha1()和md5()。
13.HTTP认证将数据持久存储唉客户端,但是工作结束时不允许你将其删除。Cookie允许将小段数据持久的存储在客户端,这些数据可以跨脚本存在,而且可以通过设置Cookie的到期日期将其删除。
14.setcookie()用户设置cookie的变量名称,存储的文本值和到期日期。如果不设置到期日期,那么cookie就会在浏览器关闭时被销毁。通过$_COOKIE的超级全局变量访问cookie变量的值。
15.cookie会受到浏览器的限制,但是会话session是将数据存储在服务器端的,所以不依赖于浏览器。由于会话数据都存储在服务器上,所以比cookie更安全。
16.session_start()函数开始一个会话,$_SESSION可以用来设置会话变量,session_destroy()函数结束一个会话。
17.会话变量没有到期日期,在会话结束时就会自动删除。但是在会话销毁时不会自动删除,因此需要设置$_SESSION=array()来手动清除当前会话中的所有会话变量。
18.会话在后台实际上会使用cookie。如果浏览器支持cookie,会话可能会设置一个cookie临时存储会话ID。所以要关闭一个会话时,还要删除可能在浏览器上自动创建来存储会话ID的cookie。代码如下

1 if(isset($_COOKIE[session_name()])){
2 setcookie(session_name(),‘‘,time()-3600);
3 }
时间: 2024-08-11 12:53:20

HeadFirst PHP&MySQL 重点知识点记录(二)的相关文章

HeadFirst PHP重点知识点记录(一)

PHP中的双引号和单引号的区别还是很大的啊.对于单引号,会原样表示其中包含的文本,而对于双引号中的文本会做一些额外的处理.双引号里包含的变量会被变量的值取代.这很方便.所以在写数据库查询语句时,应该用双引号.写HTML语句时用单引号. PHP中的单引号只支持\'和\\ 转义字符,其他所有转义字符都只能用于双引号串中. die(status)函数可以在程序未被正确执行时立即停止脚本运行并且输出status信息. PHP在解释“true”条件时相当随意,任何非零(0).NULL或false的值都认为

Mysql 函数使用记录(二)——ELT()、FIELD()、IFNULL()

昨天在对一业务修改的过程中想到用DECODE()来实现效果,转眼发现目前使用的是Mysql库,经过查阅,最终用ELT().FIELD().IFNULL()函数来实现需求.现对其做一个记录. 语法: ELT(n,str1,str2,str3,...) :如果n=1,则返回str1,如果n=2,则返回str2,依次类推.如果n小于1或大于参数个数,返回NULL.ELT()是FIELD()的功能补充函数. mysql> SELECT ELT(3,'hello','halo','test','world

MySQL 分区知识点(二 )

前言: MySQL 分区类型: 1.RANGE 分区: // 这种类型的分区基于落在给定范围内的列值将行分配给分区. 2.LIST 分区: // 与 RANGE 分区类似,除了根据匹配一组离散值之一的列来选择分区. 3.LIST COLUMNS 分区: // 提供对 LIST COLUMNS 分区的支持.这是一种LIST分区的变体 ,可以使用多列作为分区键, 也可以使用不同于整数类型的数据类型列作为分区列; 您可以使用字符串类型 DATE和 DATETIME列. 3.HASH 分区: // 使用

Python知识点记录二(包和模块)

包和模块 1.Python项目的组织结构 Python最顶级的层级是包,模块即是包下的各个python文件.从组织的层面考虑,模块应该为各种功能"类". 2.包和文件夹的不同 *包在形式上就是一个文件夹,但作为包,包内必须含有一个"__init__.py"模块,同时这个"__init__.py"在Python解释器运行时其名字就是包名. *当一个包被导入,或者该包内的某个模块,或者该包下某个模块内的变量/函数被导入的时候,包内的__init__模

【千纸诗书】—— PHP/MySQL二手书网站后台开发之知识点记录

前言:使用PHP和MySQL开发后台管理系统的过程中,发现有一些通用的[套路小Tip],这里集中记录一下.结合工作中ing的后台业务,我逐渐体会到:除了技术知识外.能使用户体验好的“使用流程设计”积累也十分重要╭( ???)? ?? 项目github地址:https://github.com/66Web/php_book_store,欢迎Star. 一.知识点记录 1.数据库的表名和列名 绝对不要和数据库的关键字相同  order  order by 订单表-indent   分类表-class

C++重点知识点(基础系列二)

C++重点知识点基类 C++重点知识点(基础系列二),布布扣,bubuko.com

MySQL性能优化(二)

1.MySQL基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t1; --创建一个和t1一样的表,用like(表结构也一样) insert into t3 select * from t1; --t1的数据全部拿过来,注意是表结构一致才select* ,否则选择相应的的字段列插入 create table t1( id int unsigned not null auto_increment primary key,

MySQL高级知识点

MySQL高级知识初识 一.视图: 1.什么是视图: 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( SELECT nid, NAME FROM tb1 WHERE nid > 2 ) AS A WHERE A. NAME > 'xkj'; 2.创建视图 --格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS SE

20150225 IMX257 设备驱动模型之sysfs文件系统知识点整合(二)

20150225 IMX257 设备驱动模型之sysfs文件系统知识点整合(二) 2012-02-25 李海沿 前天我们实现了一个简单的sysfs的kobject的驱动程序,可是有没有发现很多东西都不懂,原因就是在我们对sysfs和kobject的工作原理不懂,虽然我一直不提倡整天接触那些乏味的知识点,也一直不喜欢谈论太多的知识点,但是有的时候,理论知识是实践的基础,有些基础的知识点还是不得不提,下面进入正题. 一.sysfs介绍 在linux2.6内核以后,引入了一个新的文件系统sysfs,它