首先是登录的LoginController.class.php

代码内容是

<?php
namespace Admin\Controller;
use Think\Controller;
class LoginController extends Controller
{ public function dengLu()
{
if(empty($_POST)){ //判断是不是空
$this->show();
}
else{
$a=D("yonghu"); //读取用户表
$b=$_POST;
$url=U('LiuYan/zhuYeMian'); //用u方法获取路径
$m=$a->find($b[uid]); //通过提交的密码找表里面的密码
session("uid",$m[uid]); //吧id存进session
if($b[pwd]==$m[pwd]&&$m[pwd]!=""){
$this->success("登陆成功",$url);
}else{
$this->error("登陆失败");
}
}
}
}

登录页面在View下面叫login文件夹下面的dengLu.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" />
<title>无标题文档</title>
</head>
<style type="text/css">
*{ font-family:微软雅黑; padding:0px; margin:0px auto}
</style>
<body>
<form action="__ACTION__" method="post">
<div style=" width:370px; height:210px; background-color: #CCC; text-align:center">
<div style="position:relative; top:30px"><h1>开发部内部留言板</h1></div>
<br />
<div style="position:relative; top:30px; height:40px;">用户名:<input id="yonghuming" type="text" name="uid" /></div>
<div style="position:relative; top:30px; left:9px; height:40px;">密码:<input id="mima" type="text" name="pwd" / ></div>
<div style="position:relative; top:30px; height:40px;">
<input type="submit" value="登录" />
&nbsp;
<input type="button" value="复位" onclick="Fuwei()"/></div>
</form>
</div>
<script type="text/javascript">
function Fuwei()
{
document.getElementById("yonghuming").value = "";
document.getElementById("mima").value = "";
}
</script>
</body>
</html>

然后做一个父级的方法来验证是不是登录了在Controller文件夹下面建立个FuController.class.php

<?php
namespace Admin\Controller;
use Think\Controller;
class FuController extends Controller//造一个FuController类,用来判断session值是否存在。
{
public function __construct()//造一个构造函数
{
parent::__construct();
if(session('?uid'))//判断session是否存在,如果存在,什么也不做。
{ }
else//如果不存在
{
//$url = U("Home/Login/login");
$this->redirect("Admin/Login/dengLu",array(),1,'请登录');//第一个参数是跳转的地址,第二个参数是要传的值,第三个参数是跳转的时间,第四个参数是跳转时的提示信息。
exit;
}
}
}

做liuYanController.class.php

<?php
namespace Admin\Controller;
use Admin\Controller\FuController;
class LiuYanController extends FuController //将Controller换成FuController
{
public function zhuYeMian(){
$aa = D("liuyan");
$cc =session("uid");
$nn=$aa->where("fasongren = '$cc' or jieshouren = '$cc' ")->select();
$this->assign("dd",$nn);
$this->show();
}
public function faSong(){
if(empty($_POST))
{
$this->show();
}
else
{
$nnn = D("liuyan");
$ccc =session("uid");
$bbb=$_POST;
if(!empty($bbb[jieshouren])&&!empty($bbb[xinxineirong])){
$data[time]=date("Y-m-d H:i:s");
$data[jieshouren]=$bbb[jieshouren];
$data[xinxineirong]=$bbb[xinxineirong];
$data[fasongren]=$ccc;
$ff=$nnn->add($data);
if($ff)
{
$this->success("发送成功","faSong");
}
else
{
$this->error("发送失败");
}
}
else{
$this->error("不能为空","faSong");
}
}
}
public function tuiChu(){
$aaa = session("uid",null);
if(!session("?uid")){
$this->success("退出成功","login/denglu");;
}
} }

然后就是liuyan文件夹下面的主页面和发送页面zhuYeMian.html和faSong.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" />
<title>无标题文档</title>
</head> <body>
<a href="__CONTROLLER__/tuiChu"><input type="button" value="退出" /></a>
<a href="__CONTROLLER__/faSong"><input type="button" value="发送信息" /></a>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>发送人</td>
<td>接收人</td>
<td>发送时间</td>
<td>信息内容</td>
</tr>
<foreach name="dd" item="v">
<tr>
<td>{$v.fasongren}</td>
<td>{$v.jieshouren}</td>
<td>{$v.time}</td>
<td>{$v.xinxineirong}</td>
</tr> </foreach> </table>
<!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>
</head> <body>
<form action="__ACTION__" method="post">
<div>接收人:<input type="text" name="jieshouren" /></div>
<div>信息内容:<input type="text" name="xinxineirong" /></div>
<input type="submit" value="发送" />
</form>
<a href="__CONTROLLER__/zhuYeMian"><input type="button" value="返回主页" /></a>
<a href="__CONTROLLER__/tuiChu"><input type="button" value="退出" /></a>
</body>
</html>

tp框架做留言板的更多相关文章

  1. tp框架之留言板练习

    登陆控制器与显示页面 <?php namespace Admin\Controller; use Think\Controller; class DengController extends C ...

  2. TP框架做网页静态化

    首先放上一张某手册中的一段代码: 我们要想在TP框架中执行网页静态化,在这段代码的基础上稍加添加就可以了: 在TP5框架中,为了方便寻找模板文件与生成的静态文件,我们将模板文件以及生成的静态文件放在p ...

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

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

  4. TP框架多上传域上传图片

    问题: 学习使用TP框架做电商网站是,添加商品表单需要上传商品logo和商品图片pics,有两个上传域,第一个上传域是logo,只上传一张,第二个上传域是pics,上传多张图片.使用如下代码,总是报错 ...

  5. TP框架---thinkphp模型

    1.获取系统常量信息的方法:在控制器DengLuController里面下写入下面的方法,然后调用该方法. public function test() { //echo "这是测试的&qu ...

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

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

  7. TP框架---Model模型层---做模型对象

    TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是 ...

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

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

  9. 使用PHP做移动端 api接口开发方法(适用于TP框架)

    1. [代码]使用TP框架时 放在common文件夹下文件名就叫function.php ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

随机推荐

  1. Java中的Random()函数

    今天在做Java练习的时候注意到了Java里面的一个随机函数——Random,刚开始只是知道这个函数具有随机取值的作用,于是上网搜索了资料一番,做了一下一些关于Random函数的总结:   Java中 ...

  2. 做leetcode的几点体会分享(转)

    1 大部分题目你都是可以自己做出来的.所以,第一遍尽量不要网上找答案: 2 写了的不管通过的,不通过的答案要保存下来.不通过的,也要记录下来哪儿没有通过.很有可能你这次错了,不知道怎么搞过了,下次还是 ...

  3. Metasploit_01_信息搜集技术

    信息搜集技术 姓名: 谈愈敏 学号: 20135220 日期: 2016.9.7 攻击机:135220-V.BT5, msf 靶 机:135220-V.W2k3_Sploitable 一.实验过程概述 ...

  4. 整合 Bing translator 到自己的系统中

    整合这个功能, 是因为 aliexpress 的买家来自不同国家, 我的 "小卖家" 同步到买家的留言, 很多西班牙,俄罗斯等小语种的文字, 看不懂. Google 被墙, 基本很 ...

  5. 分布式人工智能标记语言(DAIML)示例

          DAIML(Distributed Artificial Intelligence Markup Language)是用于分布式人工智能系统中智能语言的标记库.DAIML主要分为Patte ...

  6. Android图片浏览器之图片删除

    前一篇介绍了怎么从手机中读取图片文件,放入组件GridView实现网格效果的缩略图显示. 今天研究了对GridView中的子项(各张小图片)进行删除的操作,参考已有软件,长按图片跳出删除确认框. Gr ...

  7. ajax请求模拟登录

    前台 @if (Session["username"] != null) { <div class="login"> <span style= ...

  8. C# txt格式记录时间,时间对比,决定是否更新代码记录Demo

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  9. angular实例教程(用来熟悉指令和过滤器的编写)

    angular的插件太少了,  所以很多指令和过滤器都要自己写,  所以对指令传进来的参数, 以及angular编译的流程更加熟悉才行写出好的插件, 有些简单的指令是参考angularUI里面, 作为 ...

  10. redmine邮件发送功能配置详解

    redmine的邮件发送功能还是很有用的.像项目有更新啦,任务分配啦,都能邮件发送的相关责任人.我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了.查了网上的资料,都是讲修改下 ...