php中setcookie() 函数用法介绍

 更新时间:2016年11月25日 15:05  点击:1942
setcookie() 函数是php中一个用来设置cookie值的一个函数,下面我来总结一下setcookie() 函数的具体用法以及设置之后怎么获取cookie的值。

setcookie() 函数向客户端发送一个 HTTP cookie。

cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。

cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。

必须在任何其他输出发送前对 cookie 进行赋值。

如果成功,则该函数返回 true,否则返回 false。

语法
setcookie(name,value,expire,path,domain,secure)

 代码如下 复制代码

makecookie('111','www.111cn.net');
//清除cookie
clearcookies();

//下面兴一个支持二级域名cookie函数吧。

function setcookielive($name, $value='', $expire=0, $path='', $domain='', $secure=false, $httponly=false) {
    //set a cookie as usual, but also add it to $_cookie so the current page load has access
    $_cookie[$name] = $value;
    return setcookie($name,$value,$expire,$path,$domain,$secure,$httponly);
}
//调用方法

setcookielive('webab','111cn',time()+86000,'/','111cn.net');

//一入门级cookie设置方法

setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// after the page reloads, print them out
if (isset($_cookie['cookie'])) {
    foreach ($_cookie['cookie'] as $name => $value) {
        echo "$name : $value <br />n";
    }
}

js获取 cookie方法

 代码如下 复制代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
//get cookie
function getCookie(name) {
     var nameEQ = name + "=";
     var ca = document.cookie.split(';');
     for(var i=0;i < ca.length;i++) {
         var c = ca[i];
         while (c.charAt(0)==' ') {
             c = c.substring(1,c.length);
         }
         if (c.indexOf(nameEQ) == 0) {
             return unescape(c.substring(nameEQ.length,c.length));
         }
     }
     return false;
}

//clear cookie
function clearCookie(name) {
    setCookie(name, "", -1);
}

//set cookie
function setCookie(name, value, seconds) {
     seconds = seconds || 0;
     var expires = "";
     if (seconds != 0 ) {
         var date = new Date();
         date.setTime(date.getTime()+(seconds*1000));
         expires = "; expires="+date.toGMTString();
     }
     document.cookie = name+"="+escape(value)+expires+"; path=/";
}
alert(getCookie('test2'));
</script>
</body>
</html>

现在在php跳出循环方法有几种,一种是使用goto另一种是使用php新特性goto命令哦,下面我来一下介绍介绍。

break是被用在上面所提的各种循环和switch语句中的。他的作用是跳出当前的语法结构,执行下面的语句。break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环

//php当前循环为1,循环由里到外依次递增,break默认为1,例如跳出第2层循环

 代码如下 复制代码
for ($i=0;$i<3;$i++){
    foreach (array(1,2,3) as $val){    
        foreach (array(1,2,3) as $val){         
            echo "1层循环<br/>"; 
            break 2;  //跳出第2层循环        
        }
        echo "2层循环<br/>";
    }
    echo "3层循环<br/>";
}

//结果:
//1层循环
//3层循环
//1层循环
//3层循环
//1层循环
//3层循环

goto
goto实际上只是一个运算符,和其他语言一样,PHP中也不鼓励滥用goto,滥用goto会导致程序的可读性严重下降。goto的作用是将程序的执行从当前位置跳转到其他任意位置,goto本身并没有要结束的循环的作用,但其跳转位置的作用使得其可以作为跳出循环使用。但PHP5.3及以上版本停止了对goto的支持,所以应该尽量避免使用goto。
下面的是一个使用了goto跳出循环的例子

 代码如下 复制代码
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) <= 29){
goto a;
}
echo “$i”;
}
a:
echo” this is the end”;

例子中使用了goto来跳出循环,这个例子用来检测1000以内,那些数的平方根大于29

下面我们来介绍一下关于var_export 与 var_dump用法,有需要的朋友可参考。

var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值

•但是, 当变量类型为resource的时候, 是无法简单copy复制的,所以, 当var_export的变量是resource类型时, var_export会返回NULL

实例

 代码如下 复制代码

$res = yblog_mspconfiginit("ratings");
var_dump($res);
var_export($res);结果:

resource(1) of type (yahoo_yblog)
NULL再比如:

$res = fopen('status.html', 'r');
var_dump($res);
var_export($res);结果:

resource(2) of type (stream)
NULL

实例

 代码如下 复制代码

<?
//php var_export读写实例类
class user{
 var $filepath;
 function __()
 {
  $this->filepath = "d:/www.111cn.net/group/";
 }
 function cache() {
  $array = $this->db->select('select group_id,group_name from group','hashmap');
  $fp = fopen ($this->filepath, 'w');
  fputs($fp, '<?php return ' . var_export($array, true) . ';?>');
  fclose($fp);
 }

 function getVar_export($value) {
  $array = require($this->filepath);
  foreach ($array as $key => $v) {
   if ($key==$value) {
    $selected = ' current option';
   } else {
    $selected = '';
   }
   $html .= '<option value="' . $key . '"' . $selected . '>' . $v . '</option>';
  }
 
  return $html;
 }
}

//使用实例方法

$g = new user();
if( intval( $_GET['iscreate']) )
{
 $g->cache();
}
else
{
 $g->getVar_export('vv');
}
//本站原创www.111cn.net转载注明来源
?>

更多详细内容请查看:http://www.111cn.net/phper/21/02496253b66d66ca613a2f19ea40c22e.htm


var_dump函数
var_dump   (PHP 3 >= 3.0.5, PHP 4, PHP 5)   

var_dump -- 打印变量的相关信息

  void var_dump ( mixed expression [, mixed expression [, ...]] )   

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。   

提示: 为了防止程序直接将结果输出到浏览器,可以使用输出控制函数(output-control functions)来捕获此函数的输出,并把它们保存到一个例如 string 类型的变量中。   


可以比较一下 var_dump() 与 print_r()。


例子

 代码如下 复制代码

 代码如下 复制代码

  <pre>

  <?php

  $a = array (1, 2, array ("a", "b", "c"));

  var_dump ($a);

  /* 输出:

  array(3) {

  [0]=>

  int(1)

  [1]=>

  int(2)

  [2]=>

  array(3) {

  [0]=>

  string(1) "a"

  [1]=>

  string(1) "b"

  [2]=>

  string(1) "c"

  }

  }

  */

  $b = 3.1;

  $c = TRUE;

  var_dump($b,$c);

  /* 输出:

  float(3.1)

  bool(true)

  */

  ?>

  </pre>

 

更多详细内容请查看:http://www.111cn.net/phper/php/43382.htm

PHP中当变量为0时,该变量同时也就“等于”false,那么如何区别0和false?这在有些条件语句中就很有用了,本文将举例说明。

首先看代码:

本代码的功能是查找一个字符串中是否以某个词语开头

 代码如下 复制代码

$title = "Hello world.";

$keyword = "you";

if(strpos($title , $keyword ) == 0) {

    echo "正确";

} else {

    echo "错误";

}

输出:正确

好像代码没错啊?为什么结果错了?查看帮助手册看到strpos()函数在字符串中查找词语的时候,如果存在该词语则返回该词语的索引位置,否则返回false,于是把代码做如下修改。

 代码如下 复制代码

if(strpos($title , $keyword ) == 0) {

    echo "正确";

} else if(strpos($title , $keyword ) == false) {

    echo "错误";

}

输出:正确

怎么又是错的?原来PHP中当变量为0时,该变量同时也就“等于”false,那么如何区别0和false?其实很简单,把代码再修改一下:

 代码如下 复制代码

if(strpos($title , $keyword ) === 0) {

    echo "正确";

} else if(strpos($title , $keyword ) === false) {

    echo "错误";

}

输出:错误

 代码如下 复制代码

<?php
/*
 * 测试boolean
 * 0 false
 */
 $num = 0;
 $bTest1 = false;
 $bTest2 = true;
 $strTest2 = 'false';
 if($num == $bTest1)
 {
  echo ('数字0与false是可以相等的');//显示
 echo ("<br/>");
 }
 if($bTest1)
 {
  echo('永不执行啊<br/>');//不显示
 }
 if(1)
 {
  echo('会执行吗,<br/>');//执行
 }
 if($bTest2)
 {
  echo('我是老大我要执行<br/>');//执行
  
 }
 else{
  echo('不要的都归我了哦<br/>');
 }
 echo (false == 0);//显示1 表示相等
 echo (true == 1);//显示1 表示相等
function testReturn ()
{
 echo('aaaaa');
 return;
 return 'bbbb';
 echo('cccc');
}
//return 表示该函数的返回就是执行到这下面的都将不执行了,exit是推出程序
echo testReturn();//调用该函数 将输出 ‘aaaa' ’bbbbb'
?>

很多时候false也等于0,当我们要返回的值中含有0的时候,例如对数字的查询就要注意了,可以用===来判断是否完全相等,

PHP 有一个 gettype() 函数,得到变量的类型。可以使用 === 运算符(看好了,有三个等号)。和 == 运算符 的区别在于该运算符同时比较数据的值和类型。
 
当终止条件中涉及不同的变量类型时,通过使用 ===和 !==运算符进行强类型检查是很重要的。

PHP如何获取24小时计时法时间?使用本文提供一个自定义函数即可获取当前时间,并且使用的是24小时计时法计算的时间。
 代码如下 复制代码

function getTime() {
  $time="";
  //上午时间
  $h1=date("h")>12?(date("h")-12):date("h");
  //下午时间
  $h2=((date("h")+12)>=24)?date("h"):(date("h")+12);

//判断是否为上午
  if(date("a")=="am") {
       $time=date("Y-m-d $h1:i:s");
  } else { //判断是否为下午
       $time=date("Y-m-d $h2:i:s");
  }

 return $time;

}

[!--infotagslink--]

相关文章

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

    PHPEMS(PHP Exam Management System)在线模拟考试系统基于PHP+Mysql开发,主要用于搭建模拟考试平台,支持多种题型和展现方式,是国内首款支持题冒题和自动评分与教师评分相...2016-11-25
  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • JS使用cookie实现DIV提示框只显示一次的方法

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

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP中SSO Cookie登录分析和实现

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

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30