• php中Cookie的用法
  • 编辑:Helly    日期:2009-6-3   浏览:
  • 在用PHP的时候,我们来介绍一下PHP中COOKIE的用法。主要通过实例来进行说明。

    语法

    setcookie(name, value, expire, path, domain);

    以下是引用片段:
    <html>
    <head>
    <title>Login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>

    <body>
    <form name="form1" method="post" action="login.php">
      <table width="300" border="0" align="center" cellpadding="2" cellspacing="2">
        <tr>
          <td width="150"><div align="right">用户名:</div></td>
          <td width="150"><input type="text" name="username"></td>
        </tr>
        <tr>
          <td><div align="right">密码:</div></td>
          <td><input type="password" name="passcode"></td>
        </tr>
        <tr>
          <td><div align="right">Cookie保存时间:</div></td>
          <td><select name="cookie" id="cookie">
            <option value="0" selected>浏览器进程</option>
            <option value="1">保存1天</option>
            <option value="2">保存30天</option>
            <option value="3">保存365天</option>
          </select></td>
        </tr>
      </table>
      <p align="center">
        <input type="submit" name="Submit" value="Submit">
        <input type="reset" name="Reset" value="Reset">
      </p>
    </form>
    </body>
    </html>

    以下是引用片段:
    <?php
    @mysql_connect("localhost", "root","1981427")    //选择数据库之前需要先连接数据库服务器
    or die("数据库服务器连接失败");
    @mysql_select_db("test")     //选择数据库mydb
    or die("数据库不存在或不可用");
    //获取用户输入
    $username = $_POST['username'];
    $passcode = $_POST['passcode'];
    $cookie   = $_POST['cookie'];
    //执行SQL语句
    $query = @mysql_query("select username, userflag from users "
    ."where username = '$username' and passcode = '$passcode'")
    or die("SQL语句执行失败");
    //判断用户是否存在,密码是否正确
    if($row = mysql_fetch_array($query))
    {
     if($row['userflag'] == 1 or $row['userflag'] == 0)   //判断用户权限信息是否有效
     {
      switch($cookie)        //根据用户的选择设置cookie保存时间
      {
       case 0:        //保存Cookie为浏览器进程
        setcookie("username", $row['username']);
        break;
       case 1:        //保存1天
        setcookie("username", $row['username'], time()+24*60*60);
        break;
       case 2:        //保存30天
        setcookie("username", $row['username'], time()+30*24*60*60);
        break;
       case 3:        //保存365天
        setcookie("username", $row['username'], time()+365*24*60*60);
        break;
      }
      header("location: main.php");     //自动跳转到main.php
     }
     else
     {
      echo "用户权限信息不正确";
     }
    }
    else
    {
     echo "用户名或密码错误";
    }
    ?>

    <?php
    session_start();
    if(isset($_COOKIE['username']))
    {
     @mysql_connect("localhost", "root","1981427")    //选择数据库之前需要先连接数据库服务器
     or die("数据库服务器连接失败");
     @mysql_select_db("test")     //选择数据库mydb
     or die("数据库不存在或不可用");
     //获取Session
     $username = $_COOKIE['username'];
     //执行SQL语句获得userflag的值
     $query = @mysql_query("select userflag from users "
     ."where username = '$username'")
     or die("SQL语句执行失败");
     $row = mysql_fetch_array($query);
     //获得用户权限信息
     $flag = $row['userflag'];
     //根据userflag的值输出不同的欢迎信息
     if($flag == 1)
      echo "欢迎管理员".$_SESSION['username']."登录系统";
     if($flag == 0)
      echo "欢迎用户".$_SESSION['username']."登录系统";
     echo "<a href="logout.php" mce_href="logout.php">注销</a>";
    }
    else
    {
     echo "您没有权限访问本页面";
    }
    ?>

    <?php
    setcookie("username");
    echo "注销成功";
    ?>

  • 相关信息
  • ·修改没数据库的ewebeditor的上传路径
  • ·php判断浏览器的类型代码
  • ·行业网站、门户网站与普通网站的区别
  • ·IBM笔记本屏幕出现竖线
  • ·fckeditor与ewebeditor的比较
  • ·ASP删除文件FSO权限问题
  • ·IIS-Rewrite网站静态重写的用法
  • ·js中alert中文乱码问题的一种解决方法
WebDesign eeeee©2008 广州网站建设 Corporation 版权所有