登录:

login.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
<title>登录页面</title>
<style type="text/css">
*{ margin:0px auto; padding:0px}
</style>
</head>

<body>
<div>用户名:<input type="text" id="user" /></div>
<div>密码:<input type="password" id="pass" /></div>
<div><input type="button" value="登录" id="btn" /></div>
</body>
<script type="text/javascript">
$("#btn").click(function(){
    var user = $("#user").val();
    var pass = $("#pass").val();
    $.ajax({
    url:"__CONTROLLER__/yanzheng",
    data:{User:user,Pass:pass},
    type:"POST",
    dataType:"TEXT",
    success: function(data)
    {
        if(data == "ok")
        {
            window.location.href= "__MODULE__/Main/xianshi";//__MODULE__:获取模块所在的路径
        }
    }
    });
});
</script>
</html>

LoginController.class.php

<?php
namespace Liuyan\Controller;
use Think\Controller;
class LoginController extends Controller
{
    public function login()
    {
        $this->show();
    }
    public function yanzheng()
    {    /*echo "<script type='text/javascript'>alert('aaa');</script>";*/
        $n = D("Yuangong");
        $uid = $_POST["User"];
        $pwd = $_POST["Pass"];
        $sql = "select pass from yuangong where user='{$uid}'";
        $r = $n->query($sql);
        //var_dump($r[0][pass]);
        if(!empty($r[0][pass]) && $r[0][pass]==$pwd)    //$r是一个二维数组,$r[0][pass]取出密码(string类型)
        {
            session("user",$uid);                //登录之后,存session
            $this->ajaxReturn("ok","eval");        //登录成功,ajax返回ok到login.html页面,进行下一步操作
        }
        else if(empty($r[0][pass]) || $r[0][pass] != $pwd)//如果密码为空或者输入的密码和数据库中此用户名的密码不匹配,返回登录页面
        {
            $this->redirect("Liuyan/Login/login","array()",3,"请登录...");
        }
    }
}

ParentController.class.php:中间过渡控制器;parent::__construct(); //在构造函数里面加这一句,防止报错

<?php
namespace Liuyan\Controller;
use Think\Controller;
class ParentController extends Controller
{
    public function __construct()
    {
        parent::__construct();        //在构造函数里面加这一句,防止报错
        if(session('?user'))
        {
        }
        else
        {
            $this->redirect('Liuyan/Login/login',array(),3,'请登录...');
        }
    }
}

主页面:xianshi.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script><!--引入jQuery文件-->
<title>主页面    </title>
<style type="text/css">
*{ margin:0px auto; padding:0px}
</style>
</head>

<body>
<div>
    <div style="float:left">
        <a href="__CONTROLLER__/xiugai"><h1>发布信息</h1></a>
    </div>
    <div style="float:left; margin-left:30px">
        <a href="__CONTROLLER__/qing" id="aa"><h1>退出系统</h1></a>
    </div>
</div><br /><br /><br />

<div>
<span><h3>留言信息</h3></span>
<table width="60%" border="1" cellpadding="0" cellspacing="0" id="tb">
</table>
</div>
<div style="height:20px;">{$btn}</div>
<script type="text/javascript">
$(document).ready(function(e) {
$.ajax({
url:"__CONTROLLER__/yemian",
data:{},
type:"POST",
dataType:"JSON",
success: function(data)
{
    var str = "<tr><td>发送人</td><td>发送时间</td><td>接收人</td><td>信息内容</td></tr>";
    for(a in data)    //JSON接受循环显示数据方法
    {
        str+="<tr><td>"+data[a].sender+"</td><td>"+data[a].times+"</td><td>"+data[a].recever+"</td><td>"+data[a].comment+"</td></tr>";
    }
    $("#tb").append(str);
}
});
});
</script>
</body>
</html>

修改页面:xiugai.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script><!--引入jQuery文件-->
<title>发布信息</title>
<style type="text/css">
*{ margin:0px auto; padding:0px}
</style>
</head>

<body>
<div>
<div style="float:left">
<a href="__CONTROLLER__/xianshi"><h1>查看信息</h1></a>
</div>
<div style="float:left; margin-left:30px">
<a href="__CONTROLLER__/qing" id="aa"><h1>退出系统</h1></a>
</div>
</div><br /><br /><br />

<div>
    <div>
        信息发送:
    </div>
    <div>
        <div>
        <span>接收人:</span>
       <select id="inp">
       <foreach name="a" item="v" >
       <option>{$v.firend}</option>
        </foreach>
       </select>
        </div>

        <div>
        <span>信息内容:</span><textarea name="comment" id="tx"></textarea>
        </div>

    </div>
    <div><input type="button" value="发送" id="btn" /><input type="reset" value="复位" /></div>
</div>
<script type="text/javascript">
$("#btn").click(function(){
var inp = $("#inp").val();
var tx = $("#tx").val();
$.ajax({
url:"__CONTROLLER__/addxian",
data:{inp:inp,tx:tx},
type:"POST",
dataType:"TEXT",
success: function(data)
{
    if(data == 'ok')
    {
        window.location.href="__CONTROLLER__/xianshi";
    }
    else if(data=="no")
    {
        alert("您输入的内容不能为空");
    }
    else
    {
        window.location.href="__CONTROLLER__/xiugai";
    }
}
});
});
</script>
</body>
</html>

主控制器(显示和修改):MainController.class.php

<?php
namespace Liuyan\Controller;
use Liuyan\Controller\ParentController;
class MainController extends ParentController
{
    public function xianshi()
    {
        $this->show();
    }

    /*public function yemian()//按钮注册不到html页面,若要实现分页,需要注册页面再显示($this->show();)
    {
        $n = D("liuyan");
        $zs = $n->count();    //求数据总数
        $p = new \Liuyan\fzl\Page($zs,3);
        $attr = $n->limit($p->limit)->select();    //echo $p->limit;输出为0,2,直接放到$n->limit()中
        $btndiv = $p->fpage();    //翻页按钮
        $this->assign("btn",$btndiv);//翻页按钮注册到前台显示
        $this->ajaxReturn($attr);
    } */

    public function yemian()//模糊查询
    {
        $km = $_POST["km"];
        $kt = $_POST["kt"];
        $n = D("liuyan");
        $sql = "select * from liuyan where recever like '%{$km}%' and comment like '%{$kt}%'";
        $attr = $n->query($sql);
        $this->ajaxReturn($attr);
    }
    public function xiugai()    //发布信息页面收件人下拉列表显示
    {
        $n = D("Firend");
        $a = $n->select();
        $this->assign("a",$a);
        $this->show();
    }
    public function addxian()    //$data["ids"]:添加到数据库的列数据
    {
        $data["Ids"]="";
        $data["Sender"] = session("user");
        $data["Recever"] = $_POST["inp"];
        $data["Times"] = date("Y-m-d H:i:s");
        $data["Comment"] = $_POST["tx"];
        $data["States"]="";
        $n = D("Liuyan");
        if(empty($_POST["inp"]) || empty($_POST["tx"]))
        {
            echo "no";
        }
        else
        {
            $r = $n->add($data);    //添加数据库
            if($r)
            {
                echo "ok";
            }
        }
    }
    public function qing()        //点击退出系统,清session,跳转到登录页面,
    {
        session(null);
        $this->redirect("Liuyan/Login/login",array(),0);
    }
}

__________

thinkphp留言板例子(多条件查询)的更多相关文章

  1. PHP基础知识总结(四) 留言板例子 知识应用

    1.留言板显示页面:note.php <?php $host = "127.0.0.1"; $user = "root"; $pwd = "zs ...

  2. thinkphp留言板开发笔记 1 - 新的

    关于php数组的排序函数的总结: 有很多种排序方式和排序规则: 正常排序和反向排序, 使用 -r来表示 排序时是否考虑索引/下标, 如果考虑则加上-a, a=associate. sort是按值来排序 ...

  3. thinkphp where()条件查询

    今天来给大家讲下查询最常用但也是最复杂的where方法,where方法也属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置.where方法的用法是ThinkPHP查询语言的精髓,也是Think ...

  4. ThinkPHP中 按条件查询后列表显示

    最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题. 在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign ...

  5. JavaWeb 例子 JDBC+JSP登陆注册留言板

    注册页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  6. thinkphp分页+条件查询

    最近项目上面有一个带条件查询的分页列表,一开始form用的post,点击第二页就没有跳转成功,原因是分页是get请求,post数据链接到其他页面就会被清除. 解决办法: 1.form表单method= ...

  7. 【weiphp微信开发教程】留言板插件开发详解

    基于weiphp框架的留言板插件教程: 1.功能分析 传统的留言板应该具有发布留言.查看留言.回复留言.管理留言等功能,本教程开发的是最基本的留言板,仅包含发布留言和查看留言两个功能,根据功能用boo ...

  8. 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版

    一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...

  9. flask实战-留言板-Web程序开发流程

    Web程序开发流程 在实际的开发中,一个Web程序的开发过程要设计多个角色,比如客户(提出需求).项目经理(决定需求的实现方式).开发者(实现需求)等,在这里我们假设自己是一个人全职开发.一般来说一个 ...

随机推荐

  1. 基于 React.js + Redux + Bootstrap 的 Ruby China 示例 (转)

    一直学 REACT + METEOR 但路由部分有点问题,参考一下:基于 React.js + Redux + Bootstrap 的 Ruby China 示例 http://react-china ...

  2. java10

    1:正则表达式(理解) (1)就是符合一定规则的字符串 (2)常见规则 A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') \r 回车符 ( ...

  3. 技术架构:IBatisNet

    --连接数据库框架 1        providers.config 提供配制 常用的数据库连接程序 的xml文件 2        SqlMap.xml  SQL语句执行结果和实体对象之间的映射文 ...

  4. php上传图片文件常用的几个方法

    1. 前台 <form class="add-form" method="post" action="/person/save" en ...

  5. 配置VNC

    VNC连接Linux桌面,要想连接Linux远程桌面,按照下面的步骤,非常简单.快速,Linux配置VNC(以RedHat.CentOS.Fedora系列为例). 工具/原料 Linux平台安装VNC ...

  6. 64位win7下安装SQL Server 2008(图文解说版)

    运行sql安装 单击安装-全新的sql server独立安装,如果我们准备好了故障转移群集,那么我们就可以创建故障转移群集sql 常规检查 一笑而过 选择版本,或者输入密钥自动识别版本 授权协议 支持 ...

  7. Java基础之集合与泛型

    话不多说,直接上图 1.Collection集合小结 注意: 凡是使用哈希表保存对象的容器,保存的对象在容器中都是唯一的,唯一性是通过被保存对象的hashCode和equals方法共同确定: 凡是使用 ...

  8. STM32F407Discovery开发板使用环境搭建

    差不多4年前买了STM32F407Discovery这块开发板,也用它作为我的毕业设计的一部分,今晚整理一下东西,觉得这么不错的东西应该再次利用起来,做个智能家居系统的一部分什么的也不错,于是,记录一 ...

  9. 转载:稀疏矩阵存储格式总结+存储效率对比:COO,CSR,DIA,ELL,HYB

    http://www.cnblogs.com/xbinworld/p/4273506.html 稀疏矩阵是指矩阵中的元素大部分是0的矩阵,事实上,实际问题中大规模矩阵基本上都是稀疏矩阵,很多稀疏度在9 ...

  10. Linux第02天

    Linux 第02天 1.Linux磁盘和文件系统 VFS————虚拟文件系统 df命令————查看已挂载的分区 df 分区名 du命令————查看文件夹大小 du 文件夹名 ln命令————符号链接 ...