留言板控制器:
Action:IndexAction.class.php(留言板首页)
<?php header('Content-Type: text/html; charset=utf-8');
class IndexAction extends CommonAction {
/*
*首页
*/
public function index(){
$m = D('Message');
import('ORG.Util.Page');// 导入分页类
$count = $m->count();//获取数据总数
$page = new Page($count,3);//实例化分页类
$page->setConfig('header','条留言');
$show = $page->show();
//关联模型
$result = $m->relation(true)->limit($page->firstRow.','.$page->listRows)->order('id desc')->select();
//print_r($result);exit;
$this->assign('data',$result);
$this->assign('show',$show);
$this->display();
}
/*
*留言添加
*/
public function message_add(){
$m = D('Message');
$m->create();
$result = $m->add();//插入留言内容
if($result){
//上传方法
$info = $this->uploads();
$post['mid'] = mysql_insert_id();
for($i=0;$i<count($_FILES);$i++){
$img[] = 'thumb_'.$info[$i]['savename'];
$post['image'] = $img[$i];
$post['uid'] = $_SESSION['id'];
$r = M("thumb")->add($post);//插入多张缩略图
}
if(!$r){
$this->error('照片上传失败');
}
$this->redirect('Index/index');
}else{
$this->error('留言有误!');
}
}
/**
*文件上传
*/
public function uploads(){
import('ORG.Net.UploadFile');//载入类库
$upload = new UploadFile();// 实例化上传类
$upload->savePath = './Public/Uploads/';// 设置附件上传目录
$upload->thumb = true;
//$upload->maxSize = 1024;
$upload->imgClassPath = 'ORG.Image';
$upload->thumbPath = './Public/Thumb/';
$upload->thumbMaxWidth = '200';
$upload->thumbMaxHeight = '100';
$upload->thumbRemoveOrigin = true;
if(!$upload->upload()) {
$this->error($upload->getErrorMsg());
}else{
$info = $upload->getUploadFileInfo();
return $info;
}
}
}
<!-- Index end -->
登录与注册控制器:
Action: UserAction.class.php
<?php
class UserAction extends Action{
/*
*登录页面
*/
public function login(){
$this->display();
}
/*
*登录方法
*/
public function do_login(){
$username = $_POST['username'];
$pwd = md5($_POST['password']);
$code = $_POST['code'];
if(md5($code)!= $_SESSION['verify']){
$this->error('验证码输入有误!');
}
$user = M('Admin');
$where['username'] = $username;
$where['password'] = $pwd;
$arr = $user->field('id')->where($where)->find();
//print_r($arr);exit;
if($arr){
$_SESSION['username']=$username;
$_SESSION['id']=$arr['id'];
$this->success('用户登录成功',U('Index/index'));
}else{
$this->error('该用户不存在');
}
}
/*
*退出方法
*/
public function do_logout(){
$_SESSION=array();
if(isset($_COOKIE['session_name()'])){
setcookie(session_name().'',time()-1,'/');
}
session_destroy();
$this->redirect('User/login');
}
/*
*注册页面
*/
public function registered(){
$this->display();
}
/*
*注册方法
*/
public function do_regis(){
$user=D('Admin');
if(!$user->create()){
$this->error($user->getError());
}
$user->password = md5($_POST['password']);
$count = $user->add();
if($count>0){
$this->success('注册成功',U('User/login'));
}else{
$this->error('注册有误');
}
}
/*
*AJAX获取username
*/
public function getname(){
$name = $_GET['username'];
$user = M('Admin');
$where['username'] = $name;
$count = $user->where($where)->find();
if($count){
echo '不允许';
}else{
echo '允许';
}
}
}
验证码控制器方法:
Action:PublicAction.class.php
<?php
class PublicAction extends Action{
public function code(){
import('ORG.Util.Image');
Image::buildImageVerify();
}
}
?>
用户权限控制器方法:
Action:CommonAction.class.php
<?php
class CommonAction extends Action{
public function _initialize(){
//初始化的时候检查用户权限
if(!isset($_SESSION['username']) || $_SESSION['username']==''){
$this->redirect('User/login');
}
}
}
?>
留言模板:
TpI:index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xm
<head>
<me
<load href="__CSS__/st
<load href="__JS__/jquery.js" />
<ti
</head>
<body>
<div class="top">
<h1>ThinkPHP留言板练习系统</h1>
<p><a href="__URL__/index/t/My">【红色】</a><a href="__URL__/index/t/Your">【黑色】</a></p>
<p class="a">欢迎您:【<{$Think.session.username}>】!<a href="__APP__/User/do_logout">退出</a></p>
</div>
<div class="content">
<div class="left">
<br />
<foreach name="data" item="list">
<p>留言人:<font st
<p>留言标题:<font st
<p>留言内容:</p><font st
<p>留言时间:</p><{$list.time|date='Y-m-d H:i:s',###}>
<p>图片:</p>
<foreach name="list.img" item="thumb" >
<img src="__THUMB__/<{$thumb.image}>" alt="" />
</foreach>
<hr />
<br />
</foreach>
<{$show}>
</div>
<div class="right">
<form action="__URL__/message_add" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>留言标题: </td>
<td><input type="text" name="ti
</tr>
<tr>
<td>留言内容: </td>
<td><textarea name="content" id="" cols="30" rows="10"></textarea></td>
</tr>
<tr>
<td>附件: </td>
<td><input type="file" name="file1" /> </td>
</tr>
<tr>
<td>附件: </td>
<td><input type="file" name="file2" /> </td>
</tr>
<tr>
<td>附件: </td>
<td><input type="file" name="file3" /> </td>
</tr>
</table>
<input type="submit" />
</form>
</div>
</div>
</body>
</html>
登录页面:
TpI:login.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xm
<head>
<me
<load href="__CSS__/st
<ti
</head>
<body>
<div>
<h1>用户登录</h1>
<form action="__URL__/do_login" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>验证码:</td>
<td><input type="text" name="code" /></td>
<td><img src="__APP__/Public/code" alt="" on
</tr>
</table>
<input type="submit" /> <a href="__URL__/registered">注册</a>
</form>
</div>
</body>
</html>
注册页面:
TpI:registered.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xm
<head>
<me
<load href="__CSS__/st
<load href="__JS__/jquery.js" />
<ti
<sc
$(function(){
var error = new Array();
$('input[name="username"]').blur(function(){
var username = $(this).val();
$.get('__URL__/getname',{'username':username},function(data){
if(data == '不允许'){
error['username'] = 1;
$('input[name="username"]').after('<p id="message" st
}else{
erroe['username'] = 0;
$('#message').remove();
}
});
});
});
</sc
</head>
<body>
<div>
<h1>用户注册</h1>
<form action="__URL__/do_regis" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" name="repassword" /></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" name="sex" value="1" checked />男 <input type="radio" name="sex" value="0" />女</td>
</tr>
<tr>
<td>验证码:</td>
<td><input type="text" name="code" /></td>
<td><img src="__APP__/Public/code" alt="" on
</tr>
</table>
<input type="submit" />
</form>
</div>
</body>
</html>
ThinkPHP.rar
( 1.52 MB 下载:163 次 )
最佳答案