tp框架做留言板
首先是登录的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="登录" />
<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框架做留言板的更多相关文章
- tp框架之留言板练习
登陆控制器与显示页面 <?php namespace Admin\Controller; use Think\Controller; class DengController extends C ...
- TP框架做网页静态化
首先放上一张某手册中的一段代码: 我们要想在TP框架中执行网页静态化,在这段代码的基础上稍加添加就可以了: 在TP5框架中,为了方便寻找模板文件与生成的静态文件,我们将模板文件以及生成的静态文件放在p ...
- 【weiphp微信开发教程】留言板插件开发详解
基于weiphp框架的留言板插件教程: 1.功能分析 传统的留言板应该具有发布留言.查看留言.回复留言.管理留言等功能,本教程开发的是最基本的留言板,仅包含发布留言和查看留言两个功能,根据功能用boo ...
- TP框架多上传域上传图片
问题: 学习使用TP框架做电商网站是,添加商品表单需要上传商品logo和商品图片pics,有两个上传域,第一个上传域是logo,只上传一张,第二个上传域是pics,上传多张图片.使用如下代码,总是报错 ...
- TP框架---thinkphp模型
1.获取系统常量信息的方法:在控制器DengLuController里面下写入下面的方法,然后调用该方法. public function test() { //echo "这是测试的&qu ...
- LigerUi框架+jquery+ajax无刷新留言板系统的实现
前些天发布了LigerUi框架的增.删.改代码,一堆代码真的也没一张图片.有的网友推荐上图,所有今天把涉及到这个框架的开源的留言板共享给大家.在修改的过程中可能有些不足的地方希望大家拍砖. 因为留言板 ...
- TP框架---Model模型层---做模型对象
TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是 ...
- Django web框架开发基础-django实现留言板功能
1.创建项目 cmd django-admin startpoject cloudms 2.创建APP cmd django-admin startapp msgapp 3.修改settings,T ...
- 使用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 ...
随机推荐
- Java中的Random()函数
今天在做Java练习的时候注意到了Java里面的一个随机函数——Random,刚开始只是知道这个函数具有随机取值的作用,于是上网搜索了资料一番,做了一下一些关于Random函数的总结: Java中 ...
- 做leetcode的几点体会分享(转)
1 大部分题目你都是可以自己做出来的.所以,第一遍尽量不要网上找答案: 2 写了的不管通过的,不通过的答案要保存下来.不通过的,也要记录下来哪儿没有通过.很有可能你这次错了,不知道怎么搞过了,下次还是 ...
- Metasploit_01_信息搜集技术
信息搜集技术 姓名: 谈愈敏 学号: 20135220 日期: 2016.9.7 攻击机:135220-V.BT5, msf 靶 机:135220-V.W2k3_Sploitable 一.实验过程概述 ...
- 整合 Bing translator 到自己的系统中
整合这个功能, 是因为 aliexpress 的买家来自不同国家, 我的 "小卖家" 同步到买家的留言, 很多西班牙,俄罗斯等小语种的文字, 看不懂. Google 被墙, 基本很 ...
- 分布式人工智能标记语言(DAIML)示例
DAIML(Distributed Artificial Intelligence Markup Language)是用于分布式人工智能系统中智能语言的标记库.DAIML主要分为Patte ...
- Android图片浏览器之图片删除
前一篇介绍了怎么从手机中读取图片文件,放入组件GridView实现网格效果的缩略图显示. 今天研究了对GridView中的子项(各张小图片)进行删除的操作,参考已有软件,长按图片跳出删除确认框. Gr ...
- ajax请求模拟登录
前台 @if (Session["username"] != null) { <div class="login"> <span style= ...
- C# txt格式记录时间,时间对比,决定是否更新代码记录Demo
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- angular实例教程(用来熟悉指令和过滤器的编写)
angular的插件太少了, 所以很多指令和过滤器都要自己写, 所以对指令传进来的参数, 以及angular编译的流程更加熟悉才行写出好的插件, 有些简单的指令是参考angularUI里面, 作为 ...
- redmine邮件发送功能配置详解
redmine的邮件发送功能还是很有用的.像项目有更新啦,任务分配啦,都能邮件发送的相关责任人.我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了.查了网上的资料,都是讲修改下 ...