登陆控制器与显示页面

<?php
namespace Admin\Controller;
use Think\Controller; class DengController extends Controller
{
function denglu()
{
$this->display();
} function dengluchuli()
{
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
$n = D("yuangong");
$attr = $n->find("$uid");
$mm = $attr['password'];
$name = $attr['name'];
if(!empty($pwd) && $pwd!="")
{
if($pwd!=$mm)
{
$this->ajaxReturn("密码或账号错误","eval");
}
else
{
session('uid',$uid);
session('name',$name);
$this->ajaxReturn("OK","eval");
}
}
else
{
$this->ajaxReturn("请输入密码","eval");
}
}
}
<!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" />
<title>无标题文档</title>
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
</head> <body>
<div>账号:<input id="uid" type="text" /></div>
<div>密码:<input id="pwd" type="text" /></div>
<div><input id="btn" type="button" value="提交" /></div>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
$("#btn").click(function(){
var uid = $("#uid").val();
var pwd = $("#pwd").val();
$.ajax({
url:"__CONTROLLER__/dengluchuli",
data:{uid:uid,pwd:pwd},
dataType:"TEXT",
type:"POST",
success:function(data){
if(data=="OK")
{
window.location.href="__MODULE__/Zhu/zhu";
}
else
{
alert(data);
}
}
});
}) });
</script>
</html>
</html>

父级控制器

<?php
namespace Admin\Controller;
use Think\Controller;
class FuController extends Controller
{
//构造函数
public function __construct()
{
parent::__construct();
if(session('?uid')) //判断uid是否登陆
{
}
else
{
$this->redirect("Admin/Deng/denglu", array(), 3, '请登录...'); //没有登录就跳转回登陆页面
exit;
}
}
}

主页控制器与显示页面

<?php
namespace Admin\Controller;
use Admin\Controller\FuController;
class ZhuController extends FuController
{
public function zhu()
{
$this->display();
} public function xianshi()
{
$uid = session('uid');
$n = D("yuangong");
$attr = $n->find("$uid");
$name = $attr['name']; $n = D("liuyan");
$attr = $n->where("Recever='$name' OR Recever='所有人'")->select(); $this->ajaxReturn($attr); //ajax返回方法 } public function qingchu()
{
session(null);
$this->redirect("Admin/Deng/denglu", array(), 1, '退出中...');
exit;
}
}
<!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" />
<title>无标题文档</title>
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
</head> <body>
<table id="aa" width="100%" border="1" cellpadding="0" cellspacing="0"> </table>
<a href="__MODULE__/Liu/liuyan">发布信息</a>
<a href="__MODULE__/Zhu/qingchu">退出程序</a>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
$.ajax({
url:"__CONTROLLER__/xianshi",
data:{},
type:"POST",
dataType:"JSON",
success: function(data){
var aa = "<tr><td>发件人</td><td>接收人</td><td>发送时间</td><td>内容</td></tr>";
var str = "";
for(a in data)
{
str = str+"<tr><td>"+data[a].sender+"</td><td>"+data[a].recever+"</td><td>"+data[a].times+"</td><td>"+data[a].comment+"</td></tr>";
}
$("#aa").html(aa+str);
}
}) });
</script>
</html>

发信控制器与显示页面

<?php
namespace Admin\Controller;
use Admin\Controller\FuController;
class LiuController extends FuController
{
public function liuyan()
{
$this->display();
} public function tianjia()
{
/*$jsr = $_POST["jsr"];
$nr = $_POST["nr"];
$sj = date("y-m-d H-i-s");
$fjr = session('uid');*/
$m = M("liuyan");
$data['Ids'] = '';
$data['Sender'] = session('name');
$data['Recever'] = $_POST["jsr"];
$data['Times'] = date("y-m-d H-i-s");
$data['Comment'] = $_POST["nr"];
$data['States'] = "";
$m->add($data);
/*$value = session('name');
$this->ajaxReturn($value); */
}
}
<!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" />
<title>无标题文档</title>
<script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
</head> <body>
<div>接收人:<input id="jsr" type="text" /></div>
<div>内容:<input id="nr" type="text" /></div>
<div><input id="btn" type="button" value="提交" /></div>
<a href="__MODULE__/Zhu/zhu">查看信息</a>
<a href="__MODULE__/Zhu/qingchu">退出程序</a>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
$("#btn").click(function(){
var jsr = $("#jsr").val();
var nr = $("#nr").val();
$.ajax({
url:"__CONTROLLER__/tianjia",
data:{jsr:jsr,nr:nr},
dataType:"TEXT",
type:"POST",
success:function(data){ }
});
}) });
</script>
</html>
</html>

tp框架之留言板练习的更多相关文章

  1. tp框架做留言板

    首先是登录的LoginController.class.php 代码内容是 <?php namespace Admin\Controller; use Think\Controller; cla ...

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

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

  3. LigerUi框架+jquery+ajax无刷新留言板系统的实现

    前些天发布了LigerUi框架的增.删.改代码,一堆代码真的也没一张图片.有的网友推荐上图,所有今天把涉及到这个框架的开源的留言板共享给大家.在修改的过程中可能有些不足的地方希望大家拍砖. 因为留言板 ...

  4. Django web框架开发基础-django实现留言板功能

    1.创建项目 cmd  django-admin startpoject cloudms 2.创建APP cmd django-admin startapp msgapp 3.修改settings,T ...

  5. 用 Express4 写一个简单的留言板

    Knowledge Dependence:阅读文本前,你需要熟悉 Node.js 编程.Express 以及相关工具和常用中间件的使用. Node.js 以其单线程异步非阻塞的特点,越来越被广大的 W ...

  6. 基于TP框架的ThinkCMF,控制器display方法源码分析

    昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController exten ...

  7. Flask实战-留言板-安装虚拟环境、使用包组织代码

    Flask实战 留言板 创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入m ...

  8. Flask学习之旅--简易留言板

    一.写在前面 正所谓“纸上得来终觉浅,方知此事要躬行”,在看文档和视频之余,我觉得还是要动手做点什么东西才能更好地学习吧,毕竟有些东西光看文档真的难以理解,于是就试着使用Flask框架做了一个简易留言 ...

  9. Python 每日一练 | Flask 实现半成品留言板

    留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问 ...

随机推荐

  1. iframe自适应高度

    http://wenrunchang123.iteye.com/blog/1684843

  2. Jquery实现特效滑动菜单栏

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. jdk自带的jvm监测程序

    jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat:一个极强 ...

  4. 扩展 jquery miniui 组件实现自动查询数据

    主题 之前写过一篇文章分享了公司basecode查找数据后台是怎么实现的(http://www.cnblogs.com/abcwt112/p/6085335.html).今天想分享一下公司前台是怎么扩 ...

  5. TinyFox/Jexus如何正确使用配置文件

    一.阅读须知 1.TinyFox是什么 Tinyfox3.x 将支持多站点多域名 2.Jexus是什么 二.使用问题解答 * 问题1.发布Owin项目到Win/Centos系统下的TinyFox上时, ...

  6. python3.5.2本地环境搭建

    OS:win7 Download URL:https://www.python.org/downloads/release/python-352/ install 下载二进制安装文件之后,点击安装,一 ...

  7. 初试PHP单元测试TDD之安装PHPUnit

    东风吹战鼓擂,一年一度的校招季开始了,最为一名即将踏入社会的搬砖工,自然也闲不下来了.各种总结.恶补.面经在所难免.当遇见敏捷开发时,有点蒙了,这是什么东东,绝对不能吃!既然是一种软件开发的方式,听上 ...

  8. C语言(Linux)中常用到的函数

    在接触Linux C之前,我比较少用到的函数,都会记录在这里.(持续更新中……) 在学习malloc()函数原理性实现时, size_t:是一种数据类型,标准C库中定义的一种类型,近似于unsigne ...

  9. Dotnet文件格式解析

    0x0.序 解析过程并没有介绍对pe结构的相关解析过程,网上此类相关资料很多可自行查阅,本文只介绍了网上资料较少的从pe结构的可选头中的数据目录表中获取dotnet目录的rva和size,到完全解析d ...

  10. Cvim的安装与使用

    一.安装cvim插件 第一步:下载cvim的安装包 在linux系统下的浏览器firefox.chrome浏览器中打开下面链接 www.vim.org/scripts/download_script. ...