编写Cookie应用程序,一般流程是:首先尝试获取某个Cookie变量,如果有,则表明是老客户,读取其cookie信息,为其提供服务。

如果没有,则表明是第一次来访的客户,通过表单提交获取其身份信息,再将这些信息存入到Cookie变量中

 <?php
/*
*
* @Authors peng--jun
* @Email 1098325951@qq.com
* @Date 2015-11-05 12:10:47
* @Link http://www.cnblogs.com/xs-yqz/
* @version $Id$
==========================================
*/
header("Content-type: text/html; charset=UTF-8");
if ($_COOKIE["user"]["xm"]) { //尝试获取指定的Cookie变量,如果有
$visnum = intval($_COOKIE["user"]["num"])+;//将原来的访问次数加1
$expire = intval($_COOKIE["user"]["expire"]);//获取有效期
//将本次访问时间写入Cookie
setcookie("user[dt]",date("Y-m-d h:i:s"),time()+*$expire);
setcookie("user[num]",$visnum,time()+*$expire);
echo "欢迎您:".$_COOKIE["user"]["xm"];
echo "<br/>这是您第".$visnum."次访问本网站";
echo "<br/>您上次访问是在".$_COOKIE["user"]["dt"];
}else {//没有Cookie则显示登录表单
echo ' <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form method="post" action="4.20.php">
<p>账号:<input name="xm" type="text"></p>
<p>密码:<input name="pwd" type="password"></p>
<p>保存:<select name="Save">
<option value="-1">不保存</option>
<option value="">保存一周</option>
<option value="">保存一月</option>
<input type="submit" name="submit" value="登陆">
</p>
</form>
</body>
</html>
';
}
?>

4.20.php处理表单数据

<?php

 header("Content-type: text/html; charset=UTF-8");
if ($_POST["xm"] == "admin" && $_POST["pwd"] == "") {
setcookie("user[xm]",$_POST["xm"],time()+*intval($_POST["Save"]));
setcookie("user[dt]",date("Y-m-d h:i:s"),time()+*intval($_POST["Save"]));
setcookie("user[num]",,time()+*intval($_POST["Save"]));
setcookie("user[expire]",$_POST["Save"],time()+*intval($_POST["Save"]));
//保存有效期到Cookie
echo $_POST["xm"].":首次光临";
var_dump($_COOKIE);
}else{
echo "<script>alert('用户或密码不正确');location.href='4.19.php';</script>";
}
?>

cookie程序设计举例的更多相关文章

  1. cookie使用举例(添加购物车商品_移除购物车商品)

    之前介绍过cookie和session的原理和区别.下面举例说明一下cookie在实际项目中的使用.使用cookie实现购物车功能: 1.往购物车添加商品 2.从购物车里移除商品 主要是要点是:以产品 ...

  2. C++面向对象程序设计举例

    [例8.1]最简单的例子. #include <iostream> using namespace std; class Time //定义Time类 { public : //数据成员为 ...

  3. 读javascript高级程序设计17-在线检测,cookie,子cookie

    一.在线状态检测 开发离线应用时,往往在离线状态时把数据存在本地,而在联机状态时再把数据发送到服务器.html5提供了检测在线状态的方法:navigator.onLine和online/offline ...

  4. Javascript中关于cookie的那些事儿

    Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...

  5. JavaWeb 8 Cookie

    JavaWeb 8 Cookie 2. 会话管理入门            2.1 生活中会话            我: 小张,你会跳小苹果码?            小张: 会,怎么了?      ...

  6. PHP之cookie相关实例教程与经典代码

    ·php 中cookie和session的用法比较 ·php会话控制cookie与Session会话处理 ·php中利用cookie实现购物车实例 ·php中cookie与session应用学习笔记 ...

  7. 路径问题以及cookie详解

    1.路径问题: 注意 .代表执行程序的文件夹路径,在tomcat中也就是bin目录,所以要用this.getServletContext().getRealPath("/WEB-INF/cl ...

  8. 会话管理(Cookie/Session技术)

    什么是会话:用户打开浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程就称为一个会话: 会话过程需要解决的问题:每个用户在使用浏览器与服务器进行会话的过程中,都可能会产生一些 ...

  9. 第3章 简单的C程序设计——顺序程序设计

    3.1 顺序程序设计举例 例:有人用温度计测量出用华氏法表示的温度(如64F),今要求把它转换为一摄氏法表示的温度(如17.8C) 解题思路:问题的关键在于找到两者的转换公式.根据物理学知识,公式为c ...

随机推荐

  1. WebView的基本使用

    ---恢复内容开始--- 一.实例化WebView 通过xml实例化 xml <WebView android:id="@+id/webview" android:layou ...

  2. oracle权限的分配

    一.创建 sys:   //系统管理员,拥有最高权限 system://本地管理员,次高权限 scott: //普通用户,密码默认为tiger,默认未解锁 二.登陆 sqlplus / as sysd ...

  3. 蜗牛爱课- CGAffineTransformMakeRotation 实现一张图片的自动旋转

    self.locationTimer =[NSTimer scheduledTimerWithTimeInterval: 0.01 target: self selector:@selector(tr ...

  4. mysql优化(2) 观察mysql进程状态

    环境准备,安装sysbench wget http://nchc.dl.sourceforge.net/project/sysbench/sysbench/0.4.12/sysbench-0.4.12 ...

  5. RTC定时开机闹钟

    RTC是Real Time Clock的简称,它在硬件电路上单独供电,当系统关机时,CPU和其他外部硬件设备全部掉电,但是RTC仍然继续工作. HWCR (Hibernate Wakeup Contr ...

  6. Linux下 fcntl 函数用法说明

    功能描述:根据文件描述词来操作文件的特性. 文件控制函数         fcntl -- file control LIBRARY         Standard C Library (libc, ...

  7. OC运行时和方法机制笔记

    在OC当中,属性是对字段的一种特殊封装手段. 在编译期,编译器会将对字段的访问替换为内存偏移量,实质是一种硬编码. 如果增加一个字段,那么对象的内存排布就会改变,需要重新编译才行. OC的做法是,把实 ...

  8. use magento default datepicker plugin in your project

    <action method="addItem"><type>js_css</type><name>calendar/calenda ...

  9. 在Oracle中使用sql获取数据库名称

    在Oracle中使用sql获取当前数据库名称 select name from v$database;

  10. libc++abi.dylib handler threw exception

    在iOS开发时,有时候遇到libc++abi.dylib handler threw exception这样的异常,  虽然在断点出加上了All Exceptions,也断到相应的代码了,但是没打印对 ...