PHP SESSION 应用 邮件系统实例 高洛峰 细说PHP

首页 index.php

<?php
header(‘content-type:text/html;charset=utf-8‘);
/*
 * 
 * 邮件系统实例
 * 
 */
        require ‘conn.inc.php‘;//加载连接数据库配置
        //如果没有登录 就去登录页面
        if(!(isset($_SESSION[‘islogin‘]) && $_SESSION[‘islogin‘]===1)){
            header("Location:login.php");
        }
        echo "你好:".$_SESSION[‘username‘]."<a href=‘logout.php‘>退出</a>";
        
        if($_SESSION[‘allow_1‘] ==1 ){
            echo ‘你有1这个权限!<br/>‘;
        }
        
        if($_SESSION[‘allow_2‘] ==1 ){
            echo ‘你有2这个权限!<br/>‘;
        }
        
        if($_SESSION[‘allow_3‘] ==1 ){
            echo ‘你有2这个权限!<br/>‘;
        }

            $query = "select id,uid,title,ptime,mbody from email where uid=?";
            $stmt = $pdo->prepare($query);
            $stmt->execute(array($_SESSION[‘id‘]));
         
            $data = $stmt->fetchAll(PDO::FETCH_ASSOC);

         echo "你有".$stmt->rowCount()."封邮件<br/>"; 
         echo ‘<table border="1" width="800" align="center">‘;
         foreach ($data as $value){
             echo ‘<tr align="center">‘;
             echo ‘<td>‘.$value[‘id‘].‘</td>‘;
             echo ‘<td>‘.$value[‘title‘].‘</td>‘;
             echo ‘<td>‘.$value[‘ptime‘].‘</td>‘;
             echo ‘<td>‘.$value[‘mbody‘].‘</td>‘;
             echo ‘</tr>‘;
         }
         echo ‘</table>‘;

登录页面login.php

<?php 
//处理登录
if(isset($_POST[‘dosubmit‘])){
    include ‘conn.inc.php‘;

    //到数据库查找用户输入的是否正确
    $query = "select id, username, allow_1,allow_2,allow_3 from user where username = ? and password =?";
    $stmt = $pdo->prepare($query);
    $stmt ->execute(array($_POST[‘username‘],$_POST[‘password‘]));
    if($stmt->rowCount()>0){
        //将用户信息一次性放到session中
        $_SESSION=$stmt->fetch(PDO::FETCH_ASSOC);
        
        //加登录标记
        $_SESSION[‘islogin‘] = 1;
        header("Location:index.php");
    }
}

?>
<html>
<head>
<title>PHP study</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<script type="text/javascript" >
<!--

//-->
</script>
</head>
<body >
<h1>邮件登录系统</h1>
<form action="login.php" method="post">
用户名:<input type="text" name="username" /><br />
密码:<input type="password" name="password" /><br />
<input type="submit" name="dosubmit" value="登录邮件" />
</form>

</body>
</html>

数据库连接配置文件conn.inc.php

<?php
        include ‘config.php‘;
        try{
            $pdo = new PDO(DSN, DBUSER,DBPWD);        
        }catch(PDOException $e){
            echo "数据库连接失败:".$e->getMessage();
            exit;
        }

配置文件config.php

<?php 
   const  DSN = ‘mysql:host=localhost;dbname=test‘;
   const   DBUSER = ‘root‘;
   const   DBPWD     = ‘root‘;
   header(‘content-type:text/html;charset=utf-8‘);
   session_start();//开启会话

数据库设计 user表

 create table user(
 id int(11) not null primary key auto_increment,
 username varchar(50) not null,
 password     char(32) not null,
 email varchar(80) not null,
 allow_1 smallint(6) not null default 0,
 allow_2 smallint(6) not null default 0,
 allow_3 smallint(6) not null default 0
 );
 
 insert into user(username,password,email,allow_1,allow_2,allow_3) values(‘xiaowang1‘,‘1234‘,‘[email protected]‘,0,0,0);
 insert into user(username,password,email,allow_1,allow_2,allow_3) values(‘xiaowang2‘,‘1234‘,‘[email protected]‘,0,0,0);
 insert into user(username,password,email,allow_1,allow_2,allow_3) values(‘xiaowang3‘,‘1234‘,‘[email protected]‘,0,0,0); 
 insert into user(username,password,email,allow_1,allow_2,allow_3) values(‘xiaowang4‘,‘1234‘,‘[email protected]‘,0,0,0);
 insert into user(username,password,email,allow_1,allow_2,allow_3) values(‘xiaowang5‘,‘1234‘,‘[email protected]‘,0,0,0);
 insert into user(username,password,email,allow_1,allow_2,allow_3) values(‘xiaowang6‘,‘1234‘,‘[email protected]‘,0,0,0);

数据库设计 email表

 create table email(
 id int not null  auto_increment ,
 uid int not null default 0,
 title varchar(80) not null default ‘ ‘,
 ptime int not null default 0,
 mbody text,
 primary key(id)
 );
 
 insert into email(uid,title,ptime,mbody) values(1,‘wo‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(1,‘wos‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(1,‘wo1‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(1,‘wo2‘,1222333,‘I am a boy‘);
 
 insert into email(uid,title,ptime,mbody) values(2,‘2wo‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(2,‘2wos‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(2,‘2wo1‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(2,‘2wo2‘,1222333,‘I am a boy‘);
 
 insert into email(uid,title,ptime,mbody) values(3,‘3wo‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(3,‘3wos‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(3,‘3wo1‘,1222333,‘I am a boy‘);
 insert into email(uid,title,ptime,mbody) values(3,‘3wo2‘,1222333,‘I am a boy‘);
时间: 2024-12-30 19:42:13

PHP SESSION 应用 邮件系统实例 高洛峰 细说PHP的相关文章

PHP 验证码 &nbsp; 高洛峰 细说PHP

前端页面index.php <?php header('content-type:text/html;charset=utf-8'); if(isset($_POST['dosubmit'])){     session_start();     if(strtoupper($_SESSION['code']) == strtoupper($_POST['code'])){         echo '输入成功!<br/>';     }else{         echo '输入不对&

PHP 对象 多态性 简单图形计算器 高洛峰 细说PHP

主程序页面 test.php页面 <!DOCTYPE html> <html> <head>     <title>简单的图形计算器</title>     <meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" /> </head> <body>     <center>  

PHP 自定义 Smarty 模板引擎类 高洛峰 细说PHP

smarty模板引擎类简单工作原理 利用Smarty 模板引擎类对模板文件中的变量进行编译,编译过程其实就是利用正则表达式翻译成PHP文件.例如 模板文件中{$title} 利用正则表达式找到并替换成  <?php echo $this->vars['title'];?> 自定义 Smarty 模板引擎类 smarty.class.php页面 <?php /*  * 自定义Smarty模板引擎类  */         class Smarty{             priva

PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP

PHP memcache在数据库查询中应用,减少连接数据库的次数,降低服务器的压力! /*  * memcache应用说明 memory cache 内存缓存  * 工作原理  *  服务器端口port 11211    * MemCached 存取键值对key => value  * 1.内网访问  * 2.设置防火墙  */           //创建memcache对象         $mem  =  new  Memcache();                  //连接memc

高洛峰细说php学习笔记

1.php嵌套模式 <?php ... ?> <? ... ?> <% ... %> <script language="php"> ... </script> <?=$hello ?> php.ini: short_open_tag = on asp_tags = on 2.php注释 // 或 /* ... */ 或 #

php大力力 [042节] 兄弟连高洛峰 PHP教程 2014年[已发布,点击下载]

http://www.verycd.com/topics/2843130/ 第1部分 WEB开发入门篇第1章LAMP网站构建1.[2014]兄弟连高洛峰 PHP教程1.1.1 新版视频形式介绍[已发布,点击下载] 2.[2014]兄弟连高洛峰 PHP教程1.1.2 BS结构软件类型介绍[已发布,点击下载] 3.[2014]兄弟连高洛峰 PHP教程1.1.3 现在是Web2.0的时代[已发布,点击下载] 4.[2014][2014]兄弟连高洛峰 PHP教程1.1.4 Web开发标准[已发布,点击下

php大力力 [043节] 兄弟连高洛峰 PHP教程 2015年[最新最新最新最新最新]

兄弟连高洛峰老师新版PHP视频教程列表[每日更新] http://bbs.lampbrother.net/read-htm-tid-160506.html HTML部分1.[2015]兄弟连高洛峰 HTML视频教程 1 HTML的设计与应用[已发布,点击下载]2.[2015]兄弟连高洛峰 HTML视频教程 2 HTML基本语法(上)[已发布,点击下载]3.[2015]兄弟连高洛峰 HTML视频教程 3 HTML基本语法(下)[已发布,点击下载]4.[2015]兄弟连高洛峰 HTML视频教程 4

php大力力 [046节] 兄弟连高洛峰 PHP教程 2014年[数据库、PDO教程]

第14章 数据库252.[2014]兄弟连高洛峰 PHP教程14.1.1 复习数据库[已发布,点击下载]253.[2014]兄弟连高洛峰 PHP教程14.1.2 phpMyAdmin的使用[已发布,点击下载]254.[2014]兄弟连高洛峰 PHP教程14.1.3 php访问MySQL[已发布,点击下载]255.[2014]兄弟连高洛峰 PHP教程14.1.4 在PHP脚本中操作MySQL数据库1[已发布,点击下载]256.[2014]兄弟连高洛峰 PHP教程14.1.5 在PHP脚本中操作My

2015-08-25 php大力力016 兄弟连高洛峰php教程(2014年 14章数据库章节列表)

2015-08-25 php大力力016 兄弟连高洛峰php教程(2014年 14章数据库章节列表) [2014]兄弟连高洛峰 PHP教程14.1.1 复习数据库  15:58 [2014]兄弟连高洛峰 PHP教程14.1.2 phpMyAdmin的使用 15:59 [2014]兄弟连高洛峰 PHP教程14.1.3 php访问MySQL 17:27 [2014]兄弟连高洛峰 PHP教程14.1.4 在PHP脚本中操作MySQL数据库1  17:38 [2014]兄弟连高洛峰 PHP教程14.1.