PHP与MYSQL程序设计【第四版】 第三章随笔——(2),mysql程序设计
第三章PHP基础
(3.6——3.11)
3.6 变量
变量声明
变量赋值:按值赋值/引用赋值
变量作用域:
局部变量:函数中声明的变量,只能在函数中引用
函数参数:任何接受参数的函数都必须在函数首部声明这些参数。虽然这些参数接受函数外部的值,但退出函数后就无法再访问这些参数

全局变量:(慎用)
在函数内部访问时只需在变量前面加上关键字 global
另一种方法是使用PHP的$GLOBALS数组。 $GLOBALS[""];
静态变量:
与声明为函数参数的变量不同,函数参数在函数退出时会被撤销,而静态变量在函数退出时不会丢失值,并且还能保存这个值以便再次调用此函数时使用
在变量名前面加上关键字 STATIC 就可以声明一个静态变量
PHP的超级全局变量:
可以通过PHP的超级全局变量获取关于当前用户会话、用户操作环境和本地操作环境等详细信息

"; } //例如显示用户IP地址: printf("Your IP address is: %s",$_SERVER['REMOTE_ADDR']); //还可以获得关于用户浏览器和操作系统的信息: printf("Your browser is: %s",$_SERVER[‘HTTP_USER-AGENT']); 给出与给定Web服务器和脚本执行环境有关的所有预定义变量代码
用GET方法获取传递的变量
用POST方法获取传递的变量
获取存储在cookie中的信息:
$_COOKIE超级全局变量存储了通过HTTP cookie传递到脚本的信息
这些cookie一般是由以前执行的PHP脚本通过PHP函数setcookie()设置的
用POST方法获取关于上传文件的信息
$_FILES超级全局变量包括通过POST方法向服务器上传的数据有关的信息
$_FILES是一个二维数组,包含5个元素:
$_FILES['upload-name']['name']。从客户端向服务器上传文件的文件名
$_FILES['upload-name']['type']。上传文件的MIME类型。这个变量是否被赋值取决于浏览器的功能
$_FILES['upload-name']['size']。上传文件的大小(以字节为单位)
$_FILES['upload-name']['tmp_name']。上传之后,将此文件移到最终位置之前赋予的临时名
$_FILES['upload-name']['error']。上传状态码。5个可能的值:
UPLOAD_ERR_OK。文件上传成功
UPLOAD_ERR_INI_SIZE。文件大小超出了upload_max_filesize指令所制定的最大值
UPLOAD_ERR_FORM_SIZE。文件大小超出了MAX_FILE_SIZE隐藏表单域参数(可选)指定的最大值
UPLOAD_ERR_PARTIAL。文件只上传了一部分
UPLOAD_NO_FILES。文件表单中没有指定文件
更多关于操作系统环境的内容:
$_ENV 超级全局变量提供PHP解析器所在服务器环境的有关信息
$_ENV['HOSTNAME']。服务器主机名
$_ENV['SHELL']。系统shell
获取存储在会话里的信息:$_SESSION 超级全局变量包含与所有会话变量有关的信息
变量的变量:原变量名前加上一个美元符,再为它赋另一个值
3.7 常量
常量指在程序中无法修改的值
define()函数通过给一个变量名赋值来定义一个常量,其形式如下:
boolean define(string name,mixed value [,bol case_insensitive])
如果使用可选参数case_insensitive,并且这个参数的值是 TRUE,那么后面对此常量的引用将不区分大小写
常量前不需要使用美元符
一旦定义便不能重新定义或取消已定义的常量。
3.8 表达式
操作数(operand):操作数是表达式的输入
操作符(operator):操作符是表达式中指定某个动作的符号
操作符列表
操作符优先级
操作符结合性
算数操作符:"+"、"-"、"*"、"/"、"%"
赋值操作符:"="、"+="、"*="、"/="、".="
字符串操作符: "="、".="
自增和自减操作符:"++"、"--"
根据自增和自减操作符放置位置分前自增运算、前自减运算、后自增运算、后自减运算
逻辑操作符:"&&"、"AND"、"||"、"OR"、"!"、"NOT"、"XOR"
相等操作符:"=="、"!="、"==="
比较操作符:""、"="、"($a == 12) ? 5 : -1"(如果$a等于12,返回值5;否则返回值-1)
位操作符:"&"、"|"、"^"(异或。$a或$b包含的每一位相异或)、"~ $b"(非。$b中的每一位相反)、"$a>"(右移)
3.9 字符串插入
双引号
转义序列: 描述
\n 换行符
\r 回车
\t 水平制表符
\\ 反斜杠
\$ 美元符
单引号
大括号
heredoc语法:

博客园首页(即网站首页)只能发布原创的、高质量的、能让读者从中学到东西的内容。
EXCERPT; ?> //开始和结束标识符必须相同。这里的开始和结束标识符是EXCERPT,也可以自定义 //开始和结束标识符只能由字母数字字符和下划线组成,而且不能以数字或下划线开头 //开始标识符前面必须有3个尖括号: heredoc实例Nowdoc语法
3.10 控制结构
条件语句(各语句语法省略)
if语句
else语句
elseif语句
switch语句
循环语句(各语句语法省略)
while语句
do……while语句
for语句
foreach语句
break语句和goto语句
continue语句
文件包含语句
include()
include()或include ""
形式:include(/path/to/filename)
确保只包含文件一次:include_once()
请求文件:require()
require()出错时,脚本将停止执行。include()在此情况下将继续执行
确保只请求文件一次:require_once()
3.11 小结
要成为成功的PHP程序员,这一章所打下的基础有着非凡的意义!

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

PHP会话对应用性能有显著影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。