PHP用户指南-cookies部分

2016-01-29 14:47 5 1 收藏

PHP用户指南-cookies部分,PHP用户指南-cookies部分

【 tulaoshi.com - PHP 】

  PHP用户指南-cookies部分

在这课教程我们将学习怎样利用 PHP 处理cookies,我将试着使事情尽可能简单地去解释cookies的一些实际应用。

什么是cookies及作用?  
cookies是由web服务器产生的并且存在客户端的一些信息。它嵌在html信息中,由服务器端指定,在客户端及服务器端间传递信息
。它通常用来:用户网页个性化,计数器,储存被浏览站点的信息等。

cookies和php
在 PHP中用cookies是相当容易的。可以使用setcookie函数设置一个cookie。cookie是 HTTP标头的一部分, 因此设置cookie功能必须在任何内容送到浏览器之前。这种限制与header()函数一样。任何从客户端传来的cookie将自动地转化成一个PHP变量。PHP取得信息头并分析, 提取cookie名并变成变量。因此,如果你设置cookie如setcookie("mycookie","wang");php将自动产生一个名为$mycookie,值为"wang"的变量.

先让我们复习一下setcookie函数语法:
setcookie(string CookieName, string CookieValue, int CookieExpireTime, path, domain, int secure);
PATH:表示web服务器上的目录,默认为被调用页面所在目录
DOMAIN:cookie可以使用的域名,默认为被调用页面的域名。这个域名必须包含两个".",所以如果你指定你的顶级域名,你必须用".mydomain.com"
SECURE:如果设为"1",表示cookie只能被用户的浏览器认为是安全的服务器所记住

应用:
对于一个需要注册的站点,将自动识别用户的身份,并发送给它信息,如果是陌生人,将告诉他请先注册。我们按下面给出的信息创建一个小型数 据库:名字(first name),姓(last name),email地址(email address),计数器(visit counter).
按下面步骤建表:

mysql create database users;  
Query OK, 1 row affected (0.06 sec)  

mysql use users;  
Database changed  

mysql create table info (FirstName varchar(20), LastName varchar(40),  
email varchar(40), count varchar(3));  
Query OK, 0 rows affected (0.05 sec)
  
好,现在有了符合要求的表,我们可以建一个php页面对照数据库检查cookies.

########################index.php##################################
<? if (isset($Example)) { //Begin instructions for existing Cookie  
$info = explode("&", $Example);  
$FirstName=$info[0];  
$LastName=$info[1];  
$email=$info[2];  
$count=$info[3];  
$count++;  

$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;  
SetCookie ("Example",$CookieString, time()+3600); //设一新的cookie  

echo" <html  
<titlewang example</title  
</head  
<body  
<pHello $FirstName $LastName, this is your visit number: $count</p  
<pYour email address is: $email</p  
<body  
<html";  

mysql_connect() or die ("Problem connecting to DataBase"); //update DB  
$query = "update info set count=$count where FirstName='$FirstName' and  
LastName='$LastName' and email='$email'";  
$result = mysql_db_query("users", $query) or die ("Problems .... ");  

} //End Existing cookie instructions  

else { //Begin inctructions for no Cookie  
echo "<html  
<head  
<TitleRafi's Cookie example</title  
</head  
<body  
<a href="reg.php"Click Here for Site Registration</a  
</body  
</html";  
} //End No Cookie instructions  
?

注意:如果你用的是一个远程mysql服务器或unix服务器,你应用下面语句
mysql_connect ("server","username","password") or die ("Problem connecting to DataBase");  

我们想检查是否一个被指定名字的cookie在html头部分传送,记住,php能转换可识别的cookie为相应的变量,所以我们

来源:http://www.tulaoshi.com/n/20160129/1494193.html

延伸阅读
标签: PHP
  生成6 ~ 16位的用户名若干个,主要是文本操作,同事前提是要有一个字符串包。主要包含三个程序。 程序一:负责从字典中随机提取数据,写入一个新文件。(1.php) <?php /* 从字典文件中提取随机值 */ $file1 = "./Words.dic"; $file2 = "./common_pass_mini.dic"; $file3 = "./Sys_Month_Date.Dic"; $rfile = "./5.dic"; $n = 20...
标签: PHP
  可以实现, 方法有二。 一、再Web中添加用户 因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。 ( 以下说明针对Windows2000/Windows XP/Windows 2003 ) 1、使用IIS做Web服务器 如果是使用IIS做服...
标签: PHP
  -- begin auth.inc --   <?php   $id = "xxxCOM";   if(!isset($PHP_AUTH_USER)) {   Header("WWW-Authenticate: Basic realm="$id"");   Header("HTTP/1.0 401 Unauthorized");   require('error.inc');  ...
标签: Web开发
Sample.ServerSideAdd(100,99, ServerSideAdd_CallBack); function ServerSideAdd_CallBack(response){ if (response.error != null){ alert(response.error); return; } alert(response.value); } 从上面的代码中可以看出,我们为ServerSideAdd函数增加了一个额外参数ServerSideAdd_CallBack,这个参数就是用来处理服务...
标签: Web开发
private void Page_Load(object sender, EventArgs e){ Utility.RegisterTypeForAjax(typeof(User)); } 在客户端我们可以通过这样的方式调用GetUser函数: <script language="javascript"> function getUser(userId){ User.GetUser(GetUser_callback); } function GetUser_callback(response){ if (response != null && resp...

经验教程

177

收藏

38
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部