php中cookie的用法

 更新时间:2016年11月25日 15:14  点击:1782
这是作者一个比较好的思路与cookie的处理方法下面来看看php对cookie删除,增加,保存吧。

设置cookie时是将数据先经过serialize将数据变成一个字符串,然后再经过base64_encode转化成一个没特殊符号的字符串。把这个字符串设置到cookie中。然后在得到cookie的数据时用getcookie函数取回对应的数据。
这样做的好处正如我之前说的,可以很方便得把数组甚至对像都保存在cookie中。方便进行设置及调用。
当然也会有不足的地方,那就是cookie可以保存的数据量会大大减小,因为保存了很多用于定义数据属性的内容。
function MyCookie($var,$value='',$lifetime='Y')
{
    if($value!='')
    {
        $value=base64_encode(serialize($value));
    }
    if($lifetime=='D')
    {
        $lifetime=time()+86400;
    }
    setcookie($var,$value,$$lifetime);
}
function GetCookie($var)
{
    $value='';
    if(array_key_exists($var,$_COOKIE)
    {
         $value=$_COOKIE[$var];
         $value=unserialize(base64_decode($value));
    }
    return $value;
}

 

php返回数组中所有下标的值的函数.

function foo($xiao,$zhong,$da)
{
 $numargs = func_num_args();
 echo "数组中的参数个数是: $numargs<br />n";
 if ($numargs >= 2){
  echo "数组中第二参数的值是: ". func_get_arg(1) . "<br />n";
 }
 $arg_list = func_get_args();
 for ($i = 0; $i < $numargs; $i++){
  echo "数组中下标 $i 的值是: " . $arg_list[$i] . "<br />n";
 }
}

比较适合php入门者学习东西,包括php服务器变量,php $_server 等几十种简单的说明与功能简介

服务器变量 $_SERVER 详解:
*的是我认为比较常用和重要的,{}部分是我自己调试后加上的,便于理解。
*1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名
2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
*3、$_SERVER['REQUEST_TIME'] -- 请求开始时的时间戳。从 PHP 5.1.0 起有效。{和time函数效果一样}
*4、$_SERVER['argv'] -- 传递给该脚本的参数。{我试了下,get方法可以得到$_SERVER['argv'][0];post方法无法给他赋值}
*5、$_SERVER['SERVER_NAME'] -- 返回当前主机名。
6、$_SERVER['SERVER_SOFTWARE'] -- 服务器标识的字串,在响应请求时的头信息中给出。{如Microsoft-IIS/6.0}
*7、$_SERVER['REQUEST_METHOD'] -- 访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”
*8、$_SERVER['QUERY_STRING'] -- 查询(query)的字符串(URL 中第一个问号 ? 之后的内容)。
9、$_SERVER['DOCUMENT_ROOT'] -- 当前运行脚本所在的文档根目录。在服务器配置文件中定义。{如E:server}
10、$_SERVER['HTTP_ACCEPT'] -- 当前请求的 Accept: 头信息的内容。
11、$_SERVER['HTTP_ACCEPT_CHARSET'] -- 当前请求的 Accept-Charset: 头信息的内容。例如:“iso-8859-1,*,utf-8”。
12、$_SERVER['HTTP_ACCEPT_ENCODING'] -- 当前请求的 Accept-Encoding: 头信息的内容。例如:“gzip”。
13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] -- 当前请求的 Accept-Language: 头信息的内容。例如:“en”。
14、$_SERVER['HTTP_CONNECTION'] -- 当前请求的 Connection: 头信息的内容。例如:“Keep-Alive”。
15、$_SERVER['HTTP_HOST'] -- 当前请求的 Host: 头信息的内容。
*16、$_SERVER['HTTP_REFERER'] -- 链接到当前页面的前一页面的 URL 地址。
*17、$_SERVER['HTTP_USER_AGENT'] -- 返回用户使用的浏览器信息。也可以使用 get_browser() 得到此信息。
18、$_SERVER['HTTPS'] -- 如果通过https访问,则被设为一个非空的值,否则返回off.
*19、$_SERVER['REMOTE_ADDR'] -- 正在浏览当前页面用户的 IP 地址。
20、$_SERVER['REMOTE_HOST'] -- 正在浏览当前页面用户的主机名。反向域名解析基于该用户的 REMOTE_ADDR。{如本地测试返回127.0.0.1}
21、$_SERVER['REMOTE_PORT'] -- 用户连接到服务器时所使用的端口。{我在本机测试没通过,不知道什么原因}
22、$_SERVER['SCRIPT_FILENAME'] -- 当前执行脚本的绝对路径名。{如返回E:serverindex.php}
23、$_SERVER['SERVER_ADMIN'] -- 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值
24、$_SERVER['SERVER_PORT'] -- 服务器所使用的端口。默认为“80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。
25、$_SERVER['SERVER_SIGNATURE'] -- 包含服务器版本和虚拟主机名的字符串。
26、$_SERVER['PATH_TRANSLATED'] -- 当前脚本所在文件系统(不是文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。 Apache 2 用 户可以使用 httpd.conf 中的 AcceptPathInfo On 来定义 PATH_INFO。
*27、$_SERVER['SCRIPT_NAME'] -- 包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 包含当前文件的绝对路径和文件名(例如包含文件)。
*28、$_SERVER['REQUEST_URI'] -- 访问此页面所需的 URI。例如,“/index.html”。
29、$_SERVER['PHP_AUTH_DIGEST'] -- 当作为 Apache 模块运行时,进行 HTTP Digest 认证的过程中,此变量被设置成客户端发送的“Authorization”HTTP 头内容(以便作进一步的认证操作)。
30、$_SERVER['PHP_AUTH_USER']-- 当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
31、$_SERVER['PHP_AUTH_PW'] -- 当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
32、$_SERVER['AUTH_TYPE']--当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。

常用到到sql select来进行数据库查询,与显示操作

<?php
//连接数据库
$link_id = mysql_connect("localhost","root","") or die("连接失败");
if($link_id)
{
 //选择数据库
 mysql_select_db("my_test");
 //以上为头部数据库连接部分,为以下公用的部分。
 if(!$_GET[id]){

  //显示用户列表
  $sql = "select * from userinfo";
  $result=mysql_query($sql);
  
  echo "<TABLE border=1>
    <TR>
     <TD>编号</TD>
     <TD>用户名称</TD>
     <TD>性别</TD>
     <TD>年龄</TD>
     <TD>注册时间</TD>
     <TD>详细信息</TD>
    </TR>";

 

  while($row=mysql_fetch_array($result)){
   echo "<TR>
     <TD>".$row[id]."</TD>
     <TD>".$row[username]."</TD>
     <TD>".$row[gender]."</TD>
     <TD>".$row[age]."</TD>
     <TD>".$row[regdate]."</TD>
     <TD><a href=query.php?id=".$row[id].">查看</a></TD>
    </TR>";
  }
  echo "</TABLE>";
 }
 else
 {  
  //显示指定用户的详细信息
  $sql="select * from userinfo where id=".$_GET[id];
  $result=mysql_query($sql);
  $row=mysql_fetch_array($result);
  echo "编号:".$row[id]."<br>用户名:".$row[username]."<br>性别:".$row[gender]."<br>年龄:".$row[age]."<br>注册时间:".$row['regdate'];

  echo "<br><br><br><a href=query.php>继续查询</a>";
 }
}//end if
?>

我们编程时经常会用到php 修改记录,sql update 修改数据 与更新记录是吧下面我们就来看看个入门的修改记录的实例教程吧。

<?php
//连接数据库
$link_id = mysql_connect("localhost","root","") or die("连接失败");
if($link_id)
{
 mysql_select_db("my_test");
 if(!$_GET[id])
 {

  $result=mysql_query("select * from userinfo");
  echo "<TABLE border=1>
    <TR>
     <TD>编号</TD>
     <TD>用户名称</TD>
     <TD>性别</TD>
     <TD>年龄</TD>
     <TD>注册时间</TD>
     <TD>操作</TD>
    </TR>";

 

  while($row=mysql_fetch_array($result)){
   echo "<TR>
     <TD>".$row[id]."</TD>
     <TD>".$row[username]."</TD>
     <TD>".$row[gender]."</TD>
     <TD>".$row[age]."</TD>
     <TD>".$row[regdate]."</TD>
     <TD><a href=modify.php?id=".$row[id].">编辑</a></TD>
    </TR>";
  }
  echo "</TABLE>";

 }//显示列表的内容
 else
 {
  if(!$_POST[ok])
  {
   $sql="select * from userinfo where id=".$_GET[id];
   $result=mysql_query($sql);
   $row=mysql_fetch_array($result);
   ?>
   <form method=post action='modify.php?id=<? echo $_GET[id];?>'>
   <?
   echo $row[id]."<br>"; 
   ?>
   <INPUT TYPE="hidden" name="id" value=<?echo $row[id];?>>
   姓名 <input type=text name="username" value=<?echo $row[username];?>><br>
   性别 <input type=text name="gender" value=<?echo $row[gender];?>><br>
   年龄 <input type=text name="age"   value=<?echo $row[age];?>><br>
   注册时间 <input type=text name="regdate"   value=<?echo $row['regdate'];?>><br>
   <input type=submit name=ok value="提交">
   </form>
   <?
  }// if(!$_POST[ok])
  else{//针对$ok被激活后的处理:
   
   $sql="update userinfo set username='".$_POST[username]."',gender='".$_POST[gender]."',age='".$_POST[age]."',regdate='".$_POST[regdate]."' where id='".$_POST[id]."'";
   $result=mysql_query($sql);
   if($result)
    echo "记录已经成功修改<br><a href='modify.php'>继续修改记录</a>";
   else
    echo "记录修改失败<br><a href=modify.php?id=".$_POST[id].">返回</a>";
  }
 }//else($id部分)
} // end if
?>

[!--infotagslink--]

相关文章

  • phpems SQL注入(cookies)分析研究

    PHPEMS(PHP Exam Management System)在线模拟考试系统基于PHP+Mysql开发,主要用于搭建模拟考试平台,支持多种题型和展现方式,是国内首款支持题冒题和自动评分与教师评分相...2016-11-25
  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • JS使用cookie实现DIV提示框只显示一次的方法

    本文实例讲述了JS使用cookie实现DIV提示框只显示一次的方法。分享给大家供大家参考,具体如下:这里运用JavaScript的cookie技术,控制网页上的提示DIV只显示一次,也就是当用户是第一次打开网页的时候才显示,第二次自动隐藏起...2015-11-08
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • PHP中SSO Cookie登录分析和实现

    什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • PHP中SSO Cookie登录分析和实现

    什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • vue项目中js-cookie的使用存储token操作

    这篇文章主要介绍了vue项目中js-cookie的使用存储token操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-14
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • iscroll.js 用法介绍

    最新版下载: http://www.csdn123.com/uploadfile/2015/0428/20150428062734485.zip 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生...2016-05-19
  • C#中的try catch finally用法分析

    这篇文章主要介绍了C#中的try catch finally用法,以实例形式分析了try catch finally针对错误处理时的不同用法,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C++中cin的用法详细

    这篇文章主要介绍了C++中cin的用法详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • php微信公众账号开发之五个坑(二)

    这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
  • PHP+jQuery+Ajax实现多图片上传效果

    今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
  • 什么是cookie?js手动创建和存储cookie

    什么是cookie? cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。 有关cookie的例子: 名字 cookie 当访...2014-05-31