一、cookie的使用
1、什么是cookie
cookie又称为“小甜饼”,是web服务器存储在用户计算机上的一小段文本。当用户访问web页面时,web服务器会将该cookie发送到用户计算机上,并存储在浏览器中。以后,当用户再次访问同一网站时,浏览器会将该cookie发送回服务器,从而实现了在客户端和服务器之间传递数据的目的。
2、设置cookie
要设置cookie,我们可以使用php中的setcookie()函数。setcookie()函数接受三个参数:cookie的名称、cookie的值和cookie的有效期。
示例代码:
setcookie('name', 'john', time()+3600); //设置一个名为“name”的cookie,值为“john”,有效期1个小时
上面的代码中,第一个参数是cookie的名称,第二个参数是cookie的值,第三个参数则是cookie的有效期,该参数表示从当前时间开始,cookie的有效期为3600秒,即1个小时。如果我们想让cookie永久有效,可以将有效期设置为一个很大的数字,如下所示:
setcookie('name', 'john', time()+3600*24*365); //设置一个名为“name”的cookie,值为“john”,有效期为1年
3、读取cookie
要读取cookie,我们可以使用php中的$_cookie全局变量。该变量是一个关联数组,包含了所有的cookie名称和值。
示例代码:
echo $_cookie['name']; //输出名为“name”的cookie的值
上面的代码中,我们使用echo语句输出了名为“name”的cookie的值。
4、删除cookie
要删除cookie,我们可以使用setcookie()函数,并将有效期设置为一个过去的时间点。
示例代码:
setcookie('name', '', time()-3600); //删除名为“name”的cookie
上面的代码中,我们将cookie的有效期设置为当前时间减去3600秒,即1小时前的时间点,这样就可以将cookie删除了。
二、session的使用
1、什么是session
session是一种服务器端的数据存储方式,可以用来保存用户的登录状态和其他信息。session的使用比cookie更加安全,因为session是存储在服务器上的,而cookie则是存储在用户计算机上的。
2、开启session
要开启session,我们可以使用php中的session_start()函数。该函数会在服务器上创建一个session,并在浏览器中存储一个名为“phpsessid”的cookie,该cookie的值即为session的id。
示例代码:
session_start(); //开启session
上面的代码中,我们使用session_start()函数开启了session。
3、设置session
要设置session,我们只需要在session_start()函数之后,使用$_session数组即可。$_session数组是一个关联数组,可以存储任何类型的数据。
示例代码:
$_session['name'] = 'john'; //设置一个名为“name”的session变量,值为“john”
上面的代码中,我们使用$_session数组设置了一个名为“name”的session变量,值为“john”。
4、读取session
要读取session,我们只需要使用$_session数组即可。
示例代码:
echo $_session['name']; //输出名为“name”的session变量的值
上面的代码中,我们使用echo语句输出了名为“name”的session变量的值。
5、销毁session
要销毁session,我们可以使用session_destroy()函数。该函数会删除服务器上的session,并删除浏览器中的“phpsessid”cookie。
示例代码:
session_destroy(); //销毁session
上面的代码中,我们使用session_destroy()函数销毁了session。
三、cookie和session的比较
cookie和session都可以用来保存用户的状态和其他信息。它们之间的主要区别在于数据存储的位置不同。cookie是存储在用户计算机上的,而session是存储在服务器上的,因此session比cookie更加安全。此外,session还可以存储更多的数据,而cookie则存在大小限制。
综上所述,在php中使用cookie和session非常方便,我们只需要使用几个简单的函数和变量即可。当我们需要保存用户状态和其他数据时,可以选择适合自己的数据存储方式。
以上就是如何在php中使用cookie和session?的详细内容。
