【实例简介】

本系统来自[深入体验PHP项目开发].谭贞军第一章贝斯留言本

功能:

浏览留言

不需要注册发表留言

登录管理员

管理留言(删除,回复/编辑,置顶,显示/隐藏)

系统管理(内容保存在一个文件中,名称,logo,网址,以及一些设置)

管理员密码更改(只有一个管理员,密码没有加密)admin 123456

使用thinkphp 3.2.3版制作,是个人初学练习,其中应用了ajax技术,其中thinkphp中的,验证码,文件上传,文件创建读写,ajaxform一键上传文件,ajax点击管理状态,以及CURD基本技术。数据库方面只有两个表,操作上比较简单,页面主要用bootstrap,图标用的易贝软件的,欢迎测试使用,有问题留言。

【实例截图】

【核心代码】

namespace Home\Controller;

use Think\Controller;

class AdminController extends Controller {

public function index(){

if(is_login()){

$Guestbook = M('Guestbook'); // 实例化Guestbook对象

$count      = $Guestbook->count();// 查询满足要求的总记录数

$Page       = new \Think\Page($count,C('page_'));// 实例化分页类 传入总记录数和每页显示的记录数(25)

$show       = $Page->show();// 分页显示输出

// 进行分页数据查询 注意limit方法的参数要使用Page类的属性

$list = $Guestbook->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();

$this->assign('list',$list);// 赋值数据集

$this->assign('page',$show);// 赋值分页输出

$this->display('list');

}

else{

$this -> error('无权访问此页面',U('Login/index'));

}

}

public function dele(){

$id = I('id');

$act = I('act');

$gbook = M('Guestbook');

switch ($act)

{

case 'delete':

if($gbook->where('id='.$id)->delete()){

$this->ajaxreturn($resault = array('act' => 1, 'msg' => '删除成功!'));

}

break;

case 'topic':

$topic = $gbook->where('id='.$id)->getField('settop');

if($topic == 1){

$gbook->where('id='.$id)->setField('settop',0);

$this->ajaxreturn($resault = array('act' => 2, 'msg' => '取消置顶!', 'topic'=> 0));

}else if($topic == 0){

$gbook->where('id='.$id)->setField('settop',1);

$this->ajaxreturn($resault = array('act' => 2, 'msg' => '置顶成功!', 'topic'=> 1));

}

break;

case 'ifshow':

$ifshow = $gbook->where('id='.$id)->getField('ifshow');

if($ifshow == 1){

$gbook->where('id='.$id)->setField('ifshow',0);

$this->ajaxreturn($resault = array('act' => 3, 'msg' => '取消显示!', 'ifshow'=> 0));

}else if($ifshow == 0){

$gbook->where('id='.$id)->setField('ifshow',1);

$this->ajaxreturn($resault = array('act' => 3, 'msg' => '显示成功!', 'ifshow'=> 1));

}

break;

default:

$this->ajaxreturn($resault = array('act' => 4, 'msg' => '没有任何操作!'));

}

}

public function bianji(){

if(is_login()){

$id = I('id');

$gbook = M('Guestbook');

$guestb = $gbook->where('id='.$id)->find();

$this->assign('guestb',$guestb);

$this->display('bian');

}

else{

$this -> error('无权访问此页面',U('Login/index'));

}

}

public function repty(){

$data['id'] = I('id');

$data['content'] = I('contect');

$data['repty'] = I('repty');

$gbook = M('Guestbook');

if( $gbook->save($data)){

$this->success('回复编辑成功',U('Admin/index'));

}

else{

$this->error('编辑出现问题',U('Admin/index'));

}

}

}

namespace Home\Controller;

use Think\Controller;

class MainController extends Controller {

public function index(){

if(is_login()){

$this->display('main');

}

else{

$this -> error('无权访问此页面',U('Login/index'));

}

}

public function peizhi(){

$arr =array(

'gb_name'               =>  I('gb_name'),    // 网站名称

'gb_logo'               =>  I('gb_logo'), // logo标志

'index_url'             =>  I('index_url'),          // 主页链接

'page_'                 =>  I('num'),      // 页面显示记录

'timejg'                =>  I('time'),          // 密码

'replyadmtit'           =>  I('replyadmtit'),        // 显示管理员名称

'ifauditing'            =>  I('ifauditing',1),

);

$config = require(APP_PATH.'Home/Conf/config.php');

$config = array_merge($config, $arr);

//var_export($config);//结果与原来的$a相同

$info="

$filenum = fopen('Application/Home/Conf/config.php',"w");

if(fwrite($filenum,$info)){

$this->success('系统设置成功!',U('Main/index'));

}

else{

$this->error('系统设置失败!',U('Main/index'));

}

//ftruncate($filenum,0);

fclose($filenum);

}

public function password(){

if(is_login()){

$this->display('password');

}

}

public function yanpass(){

$old = I('oldpassword');

$new = I('newpassword');

$gbconfig = M('Gbconfig');

$user = $gbconfig->where('admin_pass="'.$old.'"')->find();

if($user){

if($gbconfig->where('id='.$user['id'].'')->setField('admin_pass',$new)){

$this->success('密码修改成功!',U('Main/index'));

}

else{

$this->error('密码修改失败!',U('Main/password'));

}

}else{

$this->error('旧密码不正确!',U('Main/password'));

}

}

public function upload(){

$upload = new \Think\Upload();// 实例化上传类

$upload->maxSize   =     3145728 ;// 设置附件上传大小

$upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型

$upload->rootPath  =      './upload/'; // 设置附件上传根目录

// 上传单个文件

$info   =   $upload->uploadOne($_FILES['photo1']);

if(!$info) {// 上传错误提示错误信息

$default=array('msg'=>$upload->getError());

// $this->error($upload->getError());

}else{// 上传成功 获取上传文件信息

$default=array('msg'=>'上传成功','url'=> $info['savepath'].$info['savename']) ;

}

$this->ajaxreturn($default);

}

}

php留言板上传图片,thinkphp3.2.3留言板带管理没有后台ajax上传图片功能相关推荐

  1. php留言板可以上传图片代码,php实现留言板功能(代码详解)

    简单的PHP留言板制作 做基础的留言板功能 需要三张表: 员工表,留言表,好友表 首先造一个登入页面: 帐号: 口令: 上图: 不多说,没毛病 然后来写处理页面: Query($sql); if(!e ...

  2. php留言板只能留言一次,php如何实现留言板修改留言

    php实现留言板修改留言的方法:首先连接数据库并选择指定的数据库:然后设置输出编码:接着记录表单提交的修改过的留言板内容:最后执行相应的sql语句即可. 数据库为notebook表为noteinfo留 ...

  3. jsp mysql留言板制作_Jsp+mysql 制作留言板

    最近大致了解了下什么是JSP,然后制作了一個小的留言板,這里寫一點制作留言板的過程,希望能給大家幫助! 一.准備工作(安裝各種所需要用到的軟件) 2.tomcat    下載地址 3.mysql    ...

  4. php留言板展示页面,PHP开发 留言板教程之留言板发布与展示

    创建"ressage.php"文件 我们将页面分成了三个部分,一部分是放入了我们的背景图,一部分是展示我们的留言,一部分是我们发布留言的页面 我们对三个div分别进行了CSS布局, ...

  5. 留言本(5)回复留言

    页面如下显示: 回复页面是根据所选择的留言进行回复.关键在于怎么获得要进得回复留言的留言主题.就是要获得留言id 源码如下: <%@ Page Language="C#" A ...

  6. 鸿蒙开发板能干什么,【鸿蒙开发板试用报告】用OLED板实现FlappyBird小游戏(中)...

    小伙伴们久等了,在上一篇<[开发板试用报告]用OLED板实现FlappyBird小游戏(上)>中,我们本着拿来主义的原则,成功的让小鸟在OLED屏幕上自由飞翔起来,下面我们将加入按钮交互功 ...

  7. python 物联网开发板_物联网学什么开发板好?

    可以试试我们的三明治开发板呀!比较容易上手,你可以使用它轻松创建一款通过智能音箱语音或者手机App控制的智能硬件产品,喜欢玩DIY的知友可以体验下. 配合我们的IoT开发平台,即可快速完成智能产品de ...

  8. win7触摸板怎么关闭_笔记本电脑触摸板如何开关 笔记本电脑触摸板设置方法【详解】...

    如今使用笔记本的用户开始越来越多,当然也有不少人喜欢把笔记本当作电视来使用,笔记本可以随意挪动,不管是打游戏还是看电视都非常方便.一般笔记本上都会有个触摸板,方便我们平时使用,但是也仍然有很多朋友不喜 ...

  9. pcb板可挖孔吗_PCB板微孔加工方法之机械钻孔

    随着电子产品的迅速更新,印刷电路板的印刷已从以前的单层板扩展到双层板和更复杂的高精度多层板.因此,对电路板孔的加工要求越来越高,如孔径越来越小,孔与孔之间的距离越来越小.据了解,环氧树脂基复合材料是纸 ...

最新文章

  1. Java项目:在线淘房系统(租房、购房)(java+SpringBoot+Redis+MySQL+Vue+SpringSecurity+JWT+ElasticSearch+WebSocket)
  2. pandas 删掉空行
  3. 转帖-Linux 磁盘坏道检测和修复
  4. Hibernate学习5—Hibernate操作对象
  5. mysql里guest用户_MySQL用户权限分配
  6. 均方误差越大越好_超详细 | 如何写好计量经济学实证分析论文?
  7. 学生签到系统c代码_C语言实现简单学生学籍管理系统
  8. PWN-PRACTICE-BUUCTF-25
  9. linux history原理,linux history(命令历史)
  10. Python项目:用微信自动给女朋友每天一句英语问候
  11. Java的序列化和反序列化
  12. oracle12 group by 拼接字符串
  13. Android 解锁app,应用锁「AppLock」v3.3.0 for Android 完美解锁版
  14. Go基础-核心特性和前景
  15. Gitbook文档翻译
  16. Xcode5 证书配置
  17. excel合并两列内容_你真的会用Excel“数据合并”吗?学会这4招准点下班
  18. 人人网市值缩水近80%,究竟发生了什么?
  19. Java学习之路——接口
  20. idea各种中文乱码问题

热门文章

  1. 一名计算机专业新生代农民工的五年求学之路,从“低谷”到“山峰”
  2. 第七章7.8示例学习:统计每个字母出现的次数
  3. 大数据分析四大分析要素
  4. vue组件制作专题 - (mpvue专用)在mpvue中纯自己写css实现简单左右轮播
  5. linux内核syscall_define6,linux中添加系统调用
  6. php 参数类对象以及改变对象,php类和对象--重载
  7. 智乃的01串打乱(思维+暴力)
  8. oracle 转成sql server,怎样把Oracle查询转换为SQL Server
  9. 计算机的用户软件在哪,电脑自带录屏软件在哪?这里教你怎么找
  10. [USACO13FEB]Milk Scheduling【拓扑序】