1、PHP中cookie的使用
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
创建cookie:
通过setcookie()函数可以创建cookie,如下面的代码所示:
<?php setcookie("user", "hello", time() + 10); echo "set cookie sucessful, value = hello"; ?>cookie是以键值对的形式保存的,上面的代码保存了一个名为user的cookie,对应的值为hello,该cookie的过期时间为10秒
使用isset()函数可以判断是否设置了cookie,如下面的代码所示:
<?php if(isset($_COOKIE["user"])){ echo "welcome user " . $_COOKIE["user"]; }else{ echo "welcome guest."; } ?>如果设置了名为user的cookie,则输出user对应的值,否则输出welcome guest
删除cookie需要将cookie的过期时间设置为过去的时间点,如下所示:
<?php setcookie("user", "hello", time() - 3600); ?>
PHP session变量用于存储有关用户会话的信息,或更改用户会话的设置。Session变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
创建session:
在使用session前,必须调用函数session_start();如下面的代码所示:
<?php session_start(); $_SESSION["count"] = 1; ?>上面的代码在session中存放了一个count变量,初始化为1
使用session:
取出session中的值前,可以先用isset()函数判断是否存在该session,如下面的代码所示:
<?php session_start(); if(isset($_SESSION["count"])){ $_SESSION["count"]++; if($_SESSION["count"] == 20){ unset($_SESSION["count"]); echo "unset session count"; return ; } }else{ $_SESSION["count"] = 1; } echo "count = " . $_SESSION["count"]; ?>上面的代码中,先用isset()函数判断是否存在名为count的session,如果存在,则将该session的值加1,如果该session的值达到20,则使用unset()函数删除session,如果不存在名为count的session,则新建并给count赋值为1,最后在浏览器上输出count的值,这个页面我们命名为test.php,当我们不断访问该页面时,会发现count的值在不断增加,到达19后再访问该页面,则浏览器上显示unset session count,再接着访问,则count的值会从1开始
删除session:
除了上面使用unset()函数删除session之外,还可以使用session_destory()函数删除,不同之处在于,unset()函数是删除某个session,session_destroy()函数则是删除所有的session
3、PHP中的错误处理
die()函数:
使用die()函数可以输出自定义的错误信息并终止脚本的继续执行,如下面的代码所示:
<?php if(!file_exists("welcome.txt")){ die("file not found"); } $file = fopen("welcome.txt", "r"); ?>当welcome.txt文件不存在时,会在浏览器上输出file not found,并且终止执行后面的脚本。
自定义错误处理函数:
<?php function customError($errLevel, $errMsg){ echo "error level : [$errLevel] , error msg : $errMsg"; die(); } set_error_handler("customError"); echo $test; ?>上面的代码定义了一个错误处理函数customError(),该函数有两个参数,第一个代表错误级别,第二个代表错误信息,通过set_error_handler()函数设置错误处理函数,然后用echo $test;触发错误,该段脚本在浏览器中执行的结果为:error level : [8] , error msg : Undefined variable: test