登陆控制器与显示页面

<?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. javascript基本对象

    1 String对象 创建对象 var string1 = new String("Hello"); var string2 = "Hello" //也可以创建 ...

  2. 5 HTML&JS等前端知识系列之jquery基础

    preface jquery其实就是对javascript的再次封装,方便我们开发者调用,下载地址是:http://jquery.com/download/ ,下面就说说常用使用方法 选择器 基本选择 ...

  3. sqlserver多文件组数据库的备份和还原实战

    数据库文件过大时就要进行数据分区,就是讲数据库拆分到多个文件组中.已方便数据文件管理,提高数据库的读取效能,多文件组如何进行数据库的备份和还原呢,今天主要做多文件组数据库的备份和还原实验. 第一步 创 ...

  4. Download Excel file with Angular

    源码连接(编写中) 用Angular下载后台返回的Excel文件,用Blob实现,引用FileSaver.js 后台C#代码: [WebMethod] public static byte[] Cal ...

  5. php如何防止图片盗用/盗链的两种方法(转)

    图片防盗链有什么用? 防止其它网站盗用你的图片,浪费你宝贵的流量.本文章向大家介绍php防止图片盗用/盗链的两种方法 Apache图片重定向方法 设置images目录不充许http访问 Apache服 ...

  6. Linux常用命令和Shell编程基础

    目录相关 cd - .与.. 分别表示当前目录和父目录 - ~与$HOME 都是指当前用户的主目录 - cd – 切换到上一次所在的目录(不一定是父目录) pwd - pwd 显示当前目录 - $PW ...

  7. 【09-26】hibernate学习笔记

    主键生成策略 @Id //根据底层数据库决定,mysql-->auto_increment @GeneratedValue(strategy=GenerationType.AUTO) //使用数 ...

  8. 在Swift中实现单例方法

    在写Swift的单例方法之前可以温习一下Objective-C中单例的写法: + (instancetype)sharedSingleton{ static id instance; static d ...

  9. AD域的安装(在Windows Server 2003中安装Active Directory)

    在Active Directory中提供了一组服务器作为身份验证服务器或登录服务器,这类服务器被称作域控制器(Domain Controller,简称DC).建立一个AD域的过程实际就是在一台运行Wi ...

  10. Virus.Win32.Virlock.b分析

    0x00 样本说明 分析样本是被0b500d25f645c0b25532c1e3c9741667的样本感染得到.感染前的文件是Tcpview.exe,一款windows网络连接查看工具. 感染前后文件 ...