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 ...
随机推荐
- jQuery Mobile和Sencha Touch哪个更适合你?
纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...
- Go 命令之 godep
本文参考:http://www.cnblogs.com/me115/p/5528463.html#h20 http://studygolang.com/articles/4385 关于Godep 发现 ...
- .NET获取不到js写的cookie解决方法
今晚使用javascript设置一个来路的cookie,之后使用ASP.NET获取这个cookie值,发现ASP.NET获取不到JS设置的cookie值,真郁闷中,以下是JS写Cookie的代码: C ...
- SQL Server 维护计划实现数据库备份(Step by Step)
转自:http://www.cnblogs.com/gaizai/archive/2011/11/18/2254445.html 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSM ...
- CSS 清除浮动的四种方法
在实际项目中,我们经常会用到float属性来对页面进行布局.当使用float时,意味着该元素已经脱离了文档流,相当于浮于文档之上,不占据空间.但是针对兄弟元素为文字内容时,会占据一定空间,从而产生文字 ...
- Caffe学习系列(5):其它常用层及参数
本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置. 1.softmax-loss so ...
- php利用递归函数实现无限级分类
相信很多学php的很多小伙伴都会尝试做一个网上商城作为提升自己技术的一种途径.各种对商品分类,商品名之类的操作应该是得心应手,那么就可以尝试下无限级分类列表的制作了. 什么是无限级分类? 无限级分类是 ...
- Android Studio配置Git及Git文件状态说明
Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...
- 剖析简易计算器带你入门微信小程序开发
写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...
- Orchard 刨析:前奏曲
Orchard中大量使用了依赖注入,而实现依赖注入的组件就是Autofac,它在Orchard中扮演者非常重要的角色,多租户如是,模块如是,工作区也如是.今天就来讲讲Autofac在Orchard中的 ...