php和js都是脚本语言;
客户端与服务器之间的交互,都是传输协议来进行交互的,客户向服务器发送的数据叫请求 request 服务器向客户端传输数据叫响应 response 他们之间都是无状态的;
无状态:服务器对客户端没有记忆功能;
为了解决这个问题,引入两个技术 一个是cookie,一个是session
cookie 是存在客户端的
例如:账号登录
session 是存在服务器上
例如:购物车;
设置cookie;
setcookie(参数一,参数二,参数三,参数四);
参数一:必填:属性
参数二:必填:值
参数三:必填:cookie的生命周期:time()+3600;
参数四:选填:cookie的作用范围:默认当前目录 "/"->当前目录 "/text" text目录下
取cookie
$_COOKIE
销毁cookie
删除哪个cookie 就必须与设置哪个cookie的格式一致 硬要求;
setcookie(参数一,参数二,参数三,参数四);
参数一:必填:想要删除的属性;
参数二:必填:属性值为空 "",
参数三:必填:cookie的生命周期:time()-3600 与设置cookie的一定要保持一致 只是 上面加,下面减;
参数四:如果设置cookie时填了,这块必填,且取设置cookie的 参数一致;
session 是存在服务器上的,但是他需要cookie上的sessionid
session 的设置 伴随着PHPSESSID 的产生;
开启session
session_start() 只要涉及到session方法 不管是设置,访问,还是删除,都需要在前面声明 session_start();
设置session $_SESSION['name']="lisi";
访问session var_dump($_SESSION); session的数据都存在服务器里面 phpstudy--->PHP Tutorial--->tmp--->tmp
每设置一个session 都有一个 sessionid 产生,可以通过 $_COOKIE 查看
销毁之前,一定要打开 session_start()
session的销毁: session_destory() 彻底销毁session的全部数据
session_unset() 释放所有的会话变量;
注意在销毁session的时候,也要把客户端session删了,否则session删不掉;
meta的跳转方式:http_equive="refresh" content="5;url=01.php"
unset() 释放变量 变量值为null;
isset() 判断一个变量,变量是否设置,并且值不能为空;
gettype() 数据类型;
str_replace(参数一,参数二,参数三);
参数一:被取代;
参数二:取代;
参数三:判断文件可写;
is_writeable() 判断文件是否可写;
array_serch() 查找数组中的值