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 ...
随机推荐
- getLovParameter
else if (pageContext.isLovEvent()) { StHelper.handleLovEvent(pageContext, webBean); } public static ...
- 架构MVC——JS中的理论
什么是MVC MVC是一种设计模式,它将应用划分为3个部分:数据(模型).展现层(视图)和用户交互层(控制器). 一个事件发生的过程可以描述如下: 用户和应用产生交互 控制器的事件处理器被触发 控制器 ...
- Ta-lib 函数一览
import tkinter as tk from tkinter import ttk import matplotlib.pyplot as plt import numpy as np impo ...
- Qt——信号槽连接:基于字符串与基于函数的连接之间的不同
从Qt5.0开始,Qt提供了两种不同的方式进行信号槽的连接:基于 字符串 的连接语法.基于 函数 的连接语法.这两种语法各有利弊,下面对它们的不同点进行总结. 以下几部分详细解释了它们之间的不同,并说 ...
- 解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.
1.添加M2_HOME的环境变量 2.Preference->Java->Installed JREs->Edit 选择一个jdk, 添加 -Dmaven.multiModuleP ...
- Self Organizing Maps (SOM): 一种基于神经网络的聚类算法
自组织映射神经网络, 即Self Organizing Maps (SOM), 可以对数据进行无监督学习聚类.它的思想很简单,本质上是一种只有输入层--隐藏层的神经网络.隐藏层中的一个节点代表一个需要 ...
- Scrum敏捷精要
本文抽取Scrum中的一些重要思想和概念,对Scrum敏捷执行的主题流程进行精要的介绍. 一.基本思想 个体和互动 高于 流程和工具 工作的软件 高于 详尽的文档 客户合作 ...
- 那些不好的Socket服务器设计
基础Socket 自强的程序猿们都喜欢搞Socket,而且觉得最好自己来封装个组件出来,如果再往上,加入某种数据协议,让上层服务器开发照着此协议走,就是一个小小的框架了.于是,从头开始,最开始的服务器 ...
- Servlet响应的中文字符集问题
在Servlet中利用response向客户端浏览器输出中文时有时会遇到乱码问题,总结如下: response输出流有两种,一是以字节流输出,一是以字符流输出. 一.以字节流输出: 1.默认编码输出木 ...
- Unity3D独立游戏开发日记(二):摆放建筑物
在沙盒游戏里,能自由建造是很重要的特点,比如说风靡全球的<我的世界>,用一个个方块就能搭建出规模宏大的世界.甚至有偏激的人说,没有自由建造,就不是一个真正的沙盒游戏.的确,沙盒游戏的魅力有 ...