4、在PHP中开始使用cooki时,需要了解当问题发生时如何对脚本进行调试。需要考虑三个方面: (1)使用PHP发送cookie; (2)在Web浏览器中接受cookie; (3)在PHP脚本中访问cookie。 5、使用函数setcookie()发送cookie; setcookie(name, value); setcookie('CookieName', 'This is the cookie value.'); 这行代码向浏览器发送了一个名为CookieName的cookie,其值为This is thecookie value。 可以向浏览器用setcookie()发送更多的cookie。 注:当创建cookie时,可以使用一个变量作为cookie的名称或者值属性。 setcookie($cookie_name, $cookie_value); 6、cookie最重要的问题是他们在想web浏览器发送任何信息之前被创建。所有这些脚本位于处理cookie发送的PHP代码之前。同时请确认PHP其实标签之前不要有空格或空行。 7、检验表单是否被提交: if (isset($_POST['font_size'], $_POST['font_color'])){}: 8、创建cookie: setcookie('font_size', $_POST['font_size']); setcookie('font_color', $_POST['font_color']); 这两行代码创建了两个单独的cookie:一个名为font_size,另一个名为font_color。他们的值取决于HTML表单中所选的值,这些值被存储在变量 $_POST['font_size'] 和 $_POST['font_ color'] 中。 9、没有文本。HTML或者空白能够在调用setcookie()之前发送至Web浏览器。 10、创建一个PHP代码段以报告cookie已经被发送: <?php if (isset($msg)) { print $msg; } ?> 如果 cookie 已经被发送,这些代码将会打印出一条消息。用户第一次访问页面时, cookie 并 不会被发送,因此不会设置 $msg ,这个条件的结果为 FALSE ,并且 print 调用不会运行。一旦提 交表单,就会设置 $msg ,这个条件的结果将为 TRUE 。 11读取cookie setcookie('user', 'trout'); //可以使用变量 $_COOKIE['user']。 注:cookie在未被发送前不能立即被脚本访问。 12、向cookie添加参数 setcookie(name, value, expiration, path, domain, secure, httponly); setcookie(name, value, time()+3600); //将cookie的国旗时间设定为当前事件之后的一小时 path 和 domain 参数用来限制在 Web 站点(路径)中的特定文件夹或者特定域中的 cookie 。 setcookie(name, value, time()+3600, '/subfolder/'); cookie已经被指定给一个域,因此域参数可以用来限制一个子域的cookie,如forum. example.com。 setcookie('cart', '82ABC3012', time()+3600, ', 'shop.example.com', 1); 13、删除cookie 函数 setcookie() 接受 7 个参数,但是只有 name 这个参数是必须的。如果传送一个有名称而 无值的 cookie ,它起的作用同删除一个已经存在的同名 cookie 一样。 setcookie('username', 'Larry'); //删除这个cookie setcookie('username', ''); //或者是 setcookie('username', FALSE); 或者 $.removeCookie('age'); 14、session 与cookie的区别:cookie将数据保存在客户端(在Web浏览器中),而session则将数据保存在服务器端。所以,session拥有比cookie更多的优势。 session的优势:(1)session通常情况下更加安全,这是因为数据不会再客户端和服务器端来回重复传输。 (2)session能够存储比cookie更多的信息。 (3)session甚至可以在用户不接受他们浏览器中的cookie时仍然工作。 cookie在以下方面比session有优势: (1)更加易于创建和检索; (2)对服务器造成的处理压力更少; (3)通常情况下能够持续更长的时间。 15、创建session session_start(); 在使用session的页面中,必须在脚本的起始行调用函数session_start(); 一旦启用session,可以通过向数组$_SESSION赋值的方式记录数据 $_SESSION['first_name'] = 'Sam'; $_SESSION['age'] = 4; 这个数组与PHP中使用的其他数组不用,它必须是关联数组。 header ('Location: welcome.php'); 可以通过调用函数 session_start() 以在 session 中保存值。虽然通常必须在脚本中首先调 用此函数(因为它将试图发送一个 cookie ),但是在这里并不是必须的,这是因为该脚本的 header 文件开启了输出缓存 注:跳转页面应用以下代码: header('location:./php.php');//举个栗子 16、访问session变量:(同引用其他数组的操作差不多) //类似 $_SESSION['loggedin'] 可以使用 isset($_SESSION['var']) 来查看特定的 session 值是否存在,就像用来检验 其他的变量是否被设置那样。 17、删除session(删除session需要这样的3个步骤:开启session,重新设置数组,然后删除session数据) session 的数据在两个地方存在,因此需要在两个地方进行删除操作。但是 首先必须从函数 session_start() 开始,通常像下面这样: session_start(); 然后,再次设置数组 $_SESSION 来删除 session 的值: $_SESSION = array(); 最后,需要从服务器上删除 session 数据(保存在临时文件中)。可以通过下面的方式进行操 作: session_destroy(); 注意1:直到函数激活session后才能够对session进行删除。 注意2:可以使用unset($_SESSION['var'])来删除一个单独的session值。 18、
转载于:https://www.cnblogs.com/hughman/p/6730930.html