<?php
//ini_set("display_errors", "On"); include("data/common.inc.php");
if($action=='save')
{
$title = '无标题';
$tid = 0;
$mid = 1;
$uname = "guest";
$email = "";
$homepage = "";
$qq = "";
$face = array_rand(array('01','02','03','04','05','06','07','08','13','14','15','16','17','18'), 1);
$msg = trim($_POST['msg']);
$ip = $_SERVER['REMOTE_ADDR'];
$dtime = time();
$ischeck = 0;
if($msg=='') {
return rtn(0, '对不起,您的留言内容不能为空!');
} pdo_conn();
$sql = "INSERT INTO `{$cfg_dbprefix}guestbook`(title,tid,mid,uname,email,homepage,qq,face,msg,ip,dtime,ischeck) VALUES (:title,:tid,:mid,:uname,:email,:homepage,:qq,:face,:msg,:ip,:dtime,:ischeck)";
//echo $sql;
$st = $pdo->prepare($sql);
$st->bindParam(':title', $title);
$st->bindParam(':tid', $tid);
$st->bindParam(':mid', $mid);
$st->bindParam(':uname', $uname);
$st->bindParam(':email', $email);
$st->bindParam(':homepage', $homepage);
$st->bindParam(':qq', $qq);
$st->bindParam(':face', $face, PDO::PARAM_STR);
$st->bindParam(':msg', $msg, PDO::PARAM_STR, 1000);
$st->bindParam(':ip', $ip);
$st->bindParam(':dtime', $dtime);
$st->bindParam(':ischeck', $ischeck);
$exec_result = $st->execute(); if($exec_result){
return rtn(1, '您已成功发表留言,但需审核后才能显示!');
}else{
return rtn(0, '对不起,发表留言失败,请稍候再试!');
}
} $page = $_GET['p'];
$page = isset($page) ? $page:1;
$page = (int)$page;
$page_size = 10; pdo_conn(); //页数和记录数
$tsql = "select count(1) as c from `{$cfg_dbprefix}guestbook` where ischeck=1";
$result = $pdo->query($tsql);
$tlist = $result->fetchAll();
$total = $tlist[0]['c'];
if(0==$total%$page_size){
$page_number = (int)($total/$page_size);
}else{
$page_number = (int)($total/$page_size + 1);
} if($page>$page_number){
$page = $page_number;
} if($page<1){
$page = 1;
} $start = ($page-1)*$page_size;
$sql = "select * from `{$cfg_dbprefix}guestbook` where ischeck=1 order by id desc limit {$start},{$page_size}";
$result = $pdo->query($sql);
$list = $result->fetchAll(); if($page>1){
$up = $page - 1;
}else{
$up = 1;
}
if($page<$page_number){
$down = $page + 1;
}else{
$down = $page_number;
}
$last = $page_number; function pdo_conn(){
global $pdo, $cfg_dbhost, $cfg_dbname, $cfg_dbuser, $cfg_dbpwd;
if(empty($pdo)){
$pdo = new PDO("mysql:host={$cfg_dbhost};dbname={$cfg_dbname};", $cfg_dbuser, $cfg_dbpwd, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';"));
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
return $pdo;
} function rtn($status, $msg, $data=''){
$result = array('status'=>$status, 'msg'=>$msg, 'data'=>$data);
echo json_encode($result);
}
?>
<!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>
<meta name="keywords" content="">
<meta name="description" content="">
<link href="public/style_art.css" rel="stylesheet" type="text/css">
<link href="public/common.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="header_warp">
<div class="layout solid header">
<span class="white"></span>
</div>
</div> <div class="layout solid marb10"> <div class="con_box"> <div class="con_l">
<div class="con_ltit">留言板</div>
<div class="con_ltxt"> <div class="con_lsub"><a href="#write">我要留言</a></div> </div>
</div> <div class="con_r">
<div class="con_rpos">当前位置:<a href="http://sgsj.maoming.gov.cn/">主页</a> &gt; <a href="/guestbook.html">留言板</a> &gt; </div>
<div class="con_rtxt">
<table class="ltable" width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
<?php
foreach($list as $k=>$item){
$uname = "guest_".$item['id'];
$ip = $item['ip'];
$ip_arr = explode(".", $ip);
$ip = $ip_arr[0].".".$ip_arr[1].".*.*";
$dtime = $item['dtime'];
$dtime = date('Y-m-d H:i', $dtime);
$msg = $item['msg'];
$face = $item['face'];
if(empty($face)) $face = "01";
?>
<tbody>
<tr class="ltr">
<td width="160" align="center" class="ltd"><b><?php echo $uname; ?></b></td>
<td height="26" class="timetd ltd"><img width="16" height="16" src="public/images/time.gif"> 时间: <?php echo $dtime; ?></td>
</tr>
<tr>
<td width="160" align="center" class="lefttd" rowspan="2"><table width="160" cellspacing="2" cellpadding="1" border="0" align="center">
<tbody>
<tr>
<td height="80" align="center"><img border="0" src="public/images/<?php echo $face; ?>.gif"></td>
</tr>
<tr>
<td align="center" height="20">IP:<?php echo $ip; ?></td>
</tr>
</tbody>
</table></td>
<td class="msgtd"><?php echo $msg; ?></td>
</tr>
</tbody>
<?php
}
?>
</table>
<br />
<table width="100%" cellspacing="0" cellpadding="0" border="0" align="center" class="pagetable">
<tbody>
<tr>
<td height="28" align="center">
<div class="pagelistbox">
<a href="guestbook.php">首页</a> <a href="guestbook.php?p=<?php echo $up; ?>">上一页</a> <a href="guestbook.php?p=<?php echo $down; ?>">下一页</a> <a href="guestbook.php?p=<?php echo $last; ?>">尾页</a> 共 <?php echo $page_number; ?> 页/<?php echo $total; ?> 条留言 转到:<input id="page" size="4" maxlength="10" value="<?php echo $page; ?>" type="text"><input value="Go" id="goto" type="button">
</div>
</td>
</tr>
</tbody>
</table>
<br />
<form name="form1" action="guestbook.php" method="post">
<a name="write" id="write"></a>
<table width="100%" cellspacing="1" cellpadding="4" border="0" bgcolor="#dedede" align="center" class="writetable">
<input type="hidden" value="save" name="action">
<tbody>
<tr>
<td class="writetd" colspan="2"><b style="padding-left:5px;">发布留言:</b><a name="write"></a></td>
</tr>
<tr bgcolor="#ffffff">
<td width="10%" nowrap="" align="center"><font color="#FF0000">*</font>留言内容:<br>
(1000字内) </td>
<td height="2" align="left"><textarea class="textarea ipt-txt" id="msg" rows="5" name="msg"></textarea></td>
</tr>
<tr bgcolor="#ffffff">
<td nowrap="" align="center" colspan="2"><input type="button" class="btn-2" value="提 交" id="btnSubmit" maxlength="1000">
&nbsp;&nbsp;
<input type="reset" class="btn-2" value="取 消" name="Submit2"></td>
</tr>
</tbody>
</table>
</form>
</div>
</div> </div> </div> </body>
</html>
<script type="text/javascript" src="templets/default/js/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
window.onload = function(){
$("#msg").val(""); $("#goto").click(function(){
var page = $("#page").val();
if(!/^(\d+?)$/.test(page)){
$("#page").val("");
return alert("请输入数字!");
}
window.location.href = "guestbook.php?p=" + page;
}); $("#btnSubmit").click(function(){
var msg = $("#msg").val();
$.ajax({
type: "POST",
dataType: "json",
url: "guestbook.php?action=save",
data: "msg=" + msg,
success: function(json){
if(1==json.status){
$("#msg").val("");
alert(json.msg);
}else if(1==json.status){
alert(json.msg);
}else{
alert('对不起,发表留言失败,请稍候再试!');
}
},
error: function(data){
var response = data.responseText;
if(-1!=response.indexOf('zhuji.360.cn')){
return alert("您输入的留言内容含有危险字符,已被360拦截,请修改后重新输入!");
}
alert('对不起,发表留言失败,请稍候再试!');
}
});
});
}
</script>

Pdo::$instance->beginTransaction(); //开启事务

Pdo::$instance->rollBack(); //回滚

Pdo::$instance->commit(); //提交事务

用pdo实现的织梦后台留言板的更多相关文章

  1. dede织梦后台如何修改?如何增加删除菜单?(

    织梦后台的模板存放在dede/templets下面, 登陆首页模板login.htm, 进入首页模板index_body.htm, 左侧菜单模板index_menu2.htm. 修改左侧菜单dede/ ...

  2. 【网站管理1】_dede织梦后台如何发布文章

    对于新手可能不了解,dede织梦后台是如何发文章的.下面说下我的经验. 发布文章步骤 1.打开浏览器,推介谷歌,360极速浏览器,火狐浏览器,输入网站后台网址   出现如下图登入界面 2.输入账号密码 ...

  3. dede织梦后台页面及功能修改精简操作方法

    有很多使用织梦程序的站长往往都不喜欢使用默认的后台,但对于很多小白站长其实也不太懂程序的功能,而且如果显示或者开了过多的功能只会给自己带来困扰,所以小白站长都喜欢一些傻瓜式的后台操作界面.那么,ded ...

  4. DedeCms织梦后台管理员密码修改和忘记重置方法

    方法/步骤 打开dede_admin数据表: 进入你的MYSQL后台,然后在你的数据库名中,找到dede_admin这项如图,pwd下的值就是你的密码,织梦密码采取的是MD5加密,破解麻烦而且没有必要 ...

  5. 将dedecms织梦后台编辑器ckeditor更换为kindeditor,并高亮显示代码

    1.下载kindeditor,并解压到kindeditor目录,把kindeditor目录复制到dede的include目录下(ps:修改kindeditor-all-min.js.lang文件夹下z ...

  6. 织梦后台系统设置在PHP5.4环境中不能保存中文参数的解决方法

    在没用PHP5.4的环境做Dede后台的时候,织梦58一直没有遇到这个问题,昨天上传一个新的模版到空间去测试发现后台的系统基本参数设置中所有的中文内容都无法保存,关于这个问题,其实以前也听说过,知识一 ...

  7. Dedecms织梦后台登陆验证码不显示几种解决方法

    Dedecms织梦后台登陆验证码不显示几种解决方法,服务器所造成的验证码不显示问题看这里: 方法一:查看服务器的php版本是否与程序版本兼容(织梦程序PHP版本查看方法:打开www.96net.com ...

  8. DEDECMS织梦后台更新网站栏目无反应一键更新无响应的解决方法

    很多站长朋友反应,经常会遇到DEDECMS织梦后台更新网站栏目无反应和一键更新无响应的问题,这个问题的所在就是在于恢复了数据或者覆盖了织梦后台文件之后,点击一键更新完全没反应,或者生成栏目的时候其他都 ...

  9. 织梦后台更新,报错DedeCMS Error:Tag disabled:"php" more...

    网站采用织梦v5.7版本,在做过一次后台补丁更新后,再对网站“生成”操作的时候,无厘头出现报错“ 网站后台--系统--系统基本参数---其他选项 ---模板引擎禁用标签:php  ,把php删掉 保存 ...

随机推荐

  1. make clean、make mrproer、make distclean

    make clean.make mrproer 以及make distclean的区别 解压内核源码包后, 到内核源代码目录树的顶层目录, 执行# make helpCleaning targets: ...

  2. hihoCoder 1040 矩形判断(计算几何)

    http://hihocoder.com/problemset/problem/1040 首先判断四条线段是否相交,给出八个点,如果有一些点重合,并且不同坐标的点只有4个的话,表示可以构成四边形. 然 ...

  3. poj-2393 Yogurt factory (贪心)

    http://poj.org/problem?id=2393 奶牛们有一个工厂用来生产奶酪,接下来的N周时间里,在第i周生产1 单元的奶酪需要花费ci,同时它们也有一个储存室,奶酪放在那永远不会坏,并 ...

  4. 观察者模式最佳案例实现[JAVA][原创]

    /** * American Stock Exchange market(ASE) has a list of stocks.A stock object has two perspective in ...

  5. 3D volume texture和cube map

    cube map texture可以理解为6个面的纸盒, sample的时候使用vector射线型的sample. volume texture可以理解是一摞2D texture,sample的时候用 ...

  6. mac terminal 命令

    mac下显示隐藏文件 显示 defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏 defaults write com.app ...

  7. Intellij IDEA13 创建多模块Maven项目

    目标:构建一个类似于如下图所示的这种结构的Maven项目. 首先,需要选中“File”——>“New Project”如下图所示 选中“Maven”,设置项目名称与项目构建地址,点击“Next” ...

  8. ecshop显示所有分类树栏目

    1.找到 category.php 和goods.php 两个文件修改: $smarty->assign('categories', get_categories_tree(0)); // 分类 ...

  9. 【英语】Bingo口语笔记(56) - “令人失望”的表达

  10. 用vs2012的命令利用xsd文件生成对应的C#类,把xml的string类型映射到生成的类

    输入命令: xsd d:\TDDOWNLOAD\atom-author-link.xsd /c /language:C# /outputdir:d:\ 含义: 将d:\TDDOWNLOAD\atom- ...