欢迎您光临爱永设计官网!
电话图标 服务热线/微信:13436537174 QQ咨询:276583799

最新动态

news

首页 >> 最新动态 >> PHP学习 >> 正文

跟我一起学写php单文件留言本

发表日期:2012-09-30 文章作者:爱永设计  浏览次数:2632 次

//变量 定义、赋值

$db_host = ‘localhost:3306′; //设置数据库主机端口号 一般为localhost:3360 通常不需修改

$db_user = ‘root'; //设置数据库用户名

$db_pass = ‘liujie'; //设置数据库密码

$db_name = ‘test'; //设置数据库名称

$db_char = ‘GBK'; //设置数据库字符集 默认GBK 通常情况不需修改

 

//定义常量

define(‘Per_page’,6); //定义每页记录数

?>

<!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” xml:lang=”zh” lang=”zh” >

 

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=GBK” />

<title>k 留言板</title>

<style>

<!–

body{padding:0;margin:0;height:100%;overflow-y:auto;}

#contain{width:900px;margin:0 auto;}

#hd{width:400px;margin:50px auto;}

.forms{margin:60px auto;width:400px;color:green;font-size:20px;}

.list{width:900px;margin:20px auto;}

.current{color:green;font-size:20px;}

#showmsg {display:none; top:100px; left:300px; width:600px; height:300px;position:fixed;background:#CCF;padding:50px;opacity: 0.9;} /* IE并不认识fixed,而FF认识 */

* html #showmsg {position:absolute;} /* 这个只有IE认识 */

–>

</style>

<script language=”javascript”>

<!–

//表单验证

function CheckForm(){

if(myform.username.value==””){

alert(“请填写用户名”);

myform.username.focus();

return false;

}

if(myform.title.value==””){

alert(“请填写标题”);

myform.title.focus();

return false;

}

if(myform.msg.value.length<5){

alert(“留言需要大于5个字符”);

myform.msg.focus();

return false;

}

}

function CheckPassword(){

if(repassform.admin_pass.value.length<6){

alert(“密码长度大于6″);

repassform.admin_pass.focus();

return false;

}

if(repassform.admin_pass.value != repassform.admin_pass2.value){

alert(“密码不相同”);

repassform.admin_pass2.focus();

return false;

}

 

}

//全选

function checkAll(name)

{

var el = document.getElementsByTagName(‘input’);

var len = el.length;

for(var i=0; i<len; i++)

{

if((el[i].type==”checkbox”) && (el[i].name==name))

{

el[i].checked = true;

}

}

}

//取消全选

function clearAll(name)

{

var el = document.getElementsByTagName(‘input’);

var len = el.length;

for(var i=0; i<len; i++)

{

if((el[i].type==”checkbox”) && (el[i].name==name))

{

el[i].checked = false;

}

}

}

//反选

function disAll(name)

{

var el = document.getElementsByTagName(‘input’);

var len = el.length;

for(var i=0; i<len; i++)

{

if((el[i].type==”checkbox”) && (el[i].name==name) && el[i].checked == true)

{

el[i].checked = false;

}else{

el[i].checked = true;

}

}

}

//–>

 

 

 

</script>

</head>

<body>

<div id=”contain”>

<div id=”hd”><h1>留言板</h1><a href=”?”>首页</a> <a href=”?do=manage”>管理</a></div>

<div id=”showmsg”>

<p id=”info” name=”info”></p>

<p id=”tip” name=”tip”></p>

</div>

<script language=”javascript”>

<!–

//跳转

function Redirect(Url){

window.location = Url;

}

var i = 0;

//显示倒计时

function dis(time){

document.getElementById(“tip”).innerHTML = “” + (time – i) + “秒后跳转”;

i++;

}

//显示提示,定时跳转

function ShowMsg(msg,time,Url){

document.getElementById(“showmsg”).style.display= “block” ;

document.getElementById(“info”).innerHTML = msg;

if(time>0 && Url != ”){

timer=setInterval(“dis(‘”+time+”‘)”, 1000);//显示时间

timer=setTimeout(“Redirect(‘”+Url+”‘)”,time * 1000); //跳转

}

}

//–>

</script>

 

<?php

//实例化基础类

$base = new base($db_host,$db_user,$db_pass,$db_name,$db_char);

 

//定义基础类

class base{

private static $conn ;

var $err ;

//php5 构造函数 初始化连接

function __construct($db_host,$db_user,$db_pass,$db_name,$db_char=’GBK’){

/*连接数据库& 设置数据库字符集*/

@ $dbo = mysql_connect($db_host,$db_user,$db_pass) or die(‘请检查是否数据库密码是否正确。’);

mysql_select_db($db_name,$dbo) or die (‘数据库不存在,请确认是否正确安装’);

mysql_query(“set names ‘$db_char'”,$dbo);

$this->conn = $dbo;

}

//php4 构造函数

function base($db_host,$db_user,$db_pass,$db_name,$db_char=’GBK’){

$this->__construct($db_host,$db_user,$db_pass,$db_name,$db_char);

}

//增加留言

function add(&$data){

$username = $data[‘username’]?$data[‘username’]:’匿名';

$title = $data[‘title’];

$msg = $data[‘msg’];

$sql = sprintf(“insert into `liuyan` values(”,’%s’,’%s’,’%s’,’%s’)”,$username,$title,$msg,time());

mysql_query($sql,$this->conn);

return mysql_insert_id($this->conn);

}

//留言列表

function lists($p=0){

$c = 0;

if($p>0)$c=($p-1) * Per_page;

$limit = ” limit “.$c.”,”.Per_page;

$where = ‘1’;

$r = ”;

$sql = sprintf(“SELECT * from `liuyan` where ‘%s’ $limit”,$where.$limit);

$query = mysql_query($sql,$this->conn);

while($row = mysql_fetch_array($query)){

$r[] = $row;

}

return $r;

}

//统计分页

function page(){

$sql = “select count(id) from `liuyan`”;

$query = mysql_query($sql,$this->conn);

$row = mysql_fetch_row($query);

$page[‘totals’] = $row[0];

$page[‘nums’] = ceil($row[0]/Per_page);

return $page;

}

//删除留言

function del($id){

$this->check();

 

if(is_array($id)){

$ids .= implode(‘,’,$id);

}else{

$ids = $id;

}

$sql = “delete from `liuyan` where id in($ids)”;

mysql_query($sql,$this->conn);

return mysql_affected_rows($this->conn);

}

//登录

function login($admin_name,$admin_pass){

$pass = md5($admin_name.$admin_pass.$admin_name);

$sql=”select * from `admin` where `name`=’$admin_name’ and `pass` = ‘$pass’ “;

$query = mysql_query($sql,$this->conn);

$row = mysql_fetch_array($query);

if($row[‘id’]>0){

$_SESSION=$row;

ShowMsg(‘登录成功,欢迎管理员’.$_SESSION[‘name’],3,’?do=manage’);

}else{

ShowMsg(‘登录失败’.$_SESSION[‘name’],3,’?do=login’);

}

}

//密码修改

function repass($admin_name,$admin_pass,$admin_id){

$this->check();

$pass = md5($admin_name.$admin_pass.$admin_name);

$sql = “UPDATE `admin` set name=’$admin_name’ , pass=’$pass’ where id=$admin_id”;

mysql_query($sql,$this->conn);

return mysql_affected_rows($this->conn);

}

//退出

function logout(){

$this->check();

session_destroy();

}

//检查是否登录

function check(){

if($_SESSION[‘name’] && $_SESSION[‘pass’]){

//ShowMsg(‘登录成功,欢迎管理员’.$_SESSION[‘name’],3,’?do=manage’);

}else{

ShowMsg(‘请先登录’.$_SESSION[‘name’],3,’?do=login’);

}

}

function getErr(){

return $this->err;

}

function setErr(){

$this->err = mysql_error($this->conn);

}

}

 

//安全处理 递归函数

function Post_check($arr){

if(is_array($arr)){

foreach($arr as $n=>$k){

$data[$n] = Post_check($k);

}

}else{

return addslashes(trim($arr));

}

return $data;

}

 

//定时跳转

function ShowMsg($msg,$time=0,$url=”){

echo “<script>ShowMsg(‘$msg’,$time,’$url’);</script>”;

exit;

}

 

?>

<?php

//流程处理 不同操作显示不同界面

 

$do = $_REQUEST[‘do’];

 

switch($do){

 

 

 

//添加留言

case ‘add':

if($_POST[‘do’] == ‘add’){

$data = Post_check($_POST);

if(@$base->add($data)>1){

echo ‘留言添加成功';

}else{

echo $base->err;

}

}

break;

 

//删除留言

case ‘del':

$data = Post_check($_POST);

$affected_rows=$base->del($data[‘id’]);

if($affected_rows>0){

echo ‘成功删除’.$affected_rows.’行’.'<a href=”?do=manage”>返回</a>';

}else{

echo ‘删除失败';

}

break;

 

 

//管理员修改密码

case ‘repass':

$data = Post_check($_POST);

$r = $base->repass($data[‘name’],$data[‘admin_pass’],$data[‘id’]);

if($r){

echo ‘密码修改成功';

}else{

echo ‘密码修改失败';

}

break;

 

 

//管理员退出登录

case ‘logout':

$base->logout();

ShowMsg(‘成功退出登录’.$_SESSION[‘name’],3,’?do=’);

break;

 

 

 

//管理员登录

case ‘login':

 

if($_POST[‘admin_name’] && $_POST[‘admin_pass’]){

$data = Post_check($_POST);

$base->login($data[‘admin_name’],$data[‘admin_pass’]);

}

 

?>

<!–登录部分–>

<div >

<table>

<form action=”” method=”post” name=”myform” id=”myform” onsubmit=”return CheckForm();”>

<tr><td><label for = “admin_name”>管理员:</label><input type=”text” id=”admin_name” name=”admin_name”/></td></tr>

<tr><td>&nbsp;&nbsp;</td></tr>

<tr>

<td>

<label for = “admin_pass”>密&nbsp;&nbsp;码:</label><input type=”password” id=”admin_pass” name=”admin_pass”/></td></tr>

<tr><td>&nbsp;&nbsp;</td></tr>

<tr><td colspan=”2″>

<input type= “submit” value = “登录” />

</form>

</td></tr></table>

</div>

<!–登录部分–>

 

 

<?php

//管理留言

break;

case ‘manage':

$base->check();

$p = intval($_GET[‘p’]);

$lists = $base ->lists($p);

if(!$lists){

echo ‘留言为空';

}else{

 

 

?>

<!–修改密码–>

<div class=’admin’>

<form action=”” method=”post” name=”repassform” id=”repassform” onsubmit=”return CheckPassword();”>

<input type = “hidden” id =”do” name = “do” value = “repass” />

<input type = “hidden” id =”id” name = “id” value = “<?php echo $_SESSION[‘id’];?>” />

<input type = “hidden” id =”name” name = “name” value = “<?php echo $_SESSION[‘name’];?>” />

<table>

<tr><td>管理员:<?php echo $_SESSION[‘name’];?></td><td>&nbsp;&nbsp;<a href=”?do=logout”>退出</a>&nbsp;&nbsp;&nbsp;&nbsp;</td><td>新密码:<input type=”password” id=”admin_pass” name=”admin_pass”/></td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>重复密码:<input type=”password” id=”admin_pass2″ name=”admin_pass2″/></td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><input type= “submit” value = “修改密码” /></td></tr>

</table>

</form>

</div>

<!–修改密码–>

<!–管理列表–>

<div>

<form action=”” method=”post”>

<input type = “hidden” id =”do” name = “do” value = “del” />

<table width=”880px”>

<tr>

<td width=”5%”>选择</td><td width=”5%”>id</td><td width=”15%”>name</td><td width=”15%”>title</td><td width=”40%”>msg</td><td width=”15%”>time</td>

</tr>

<?php foreach($lists as $row){

?>

<tr><td><input type=”checkbox” name=”id[]” id=”id[]” value=”<?php echo $row[‘id’]?>”/></td><td><?php echo $row[‘id’];?></td><td><?php echo $row[‘name’];?></td><td><?php echo $row[‘title’];?></td><td><?php echo $row[‘msg’];?></td><td><?php echo date(“Y-m-d”,$row[‘addtime’]);?></td></tr>

<?php

}

?>

<tr>

<td width=”5%”><input type=”button” value=”全选” onclick=”checkAll(‘id[]’)” /></td><td width=”5%”><input type=”button” value=”取消” onclick=”clearAll(‘id[]’)” /></td><td width=”5%”><input type=”button” value=”反选” onclick=”disAll(‘id[]’)” /></td><td width=”5%”><input type=”submit” value=”删除”/></a></td>

</tr>

 

</table>

</form>

<?PHP

}

//分页

$baseurl = ‘?do=manage&p=';

$pages = $base->page();

echo ‘共’.$pages[‘totals’].’条 ‘.$p.’/’.$pages[‘nums’].’页';

echo “<a style=’margin:0 10px;’ href='”.$baseurl.”0′ target=’_self’>首页</a>”;

for($i=0;$i<3;$i++){

$class=”;

$link = 1;

if($p-1>0)$link =$p-1;

$link+=$i;

if($link>$pages[‘nums’])break;

if($link==$p){

$class=”class=’current'”;

}

echo “<a style=’margin:0 10px;’ $class href='”.$baseurl.$link.”‘ target=’_self’>”.$link.”</a>”;

}

echo “<a style=’margin:0 10px;’ href='”.$baseurl.$pages[nums].”‘ target=’_self’>末页</a>”;

?>

</div>

<!–管理列表–>

<?php

break;

?>

 

<?php

//默认显示留言列表

default :

$p = intval($_GET[‘p’]);

$lists = $base ->lists($p);

if(!$lists){

echo ‘留言为空';

}else{

 

 

?>

<div>

<!–留言列表–>

<table width=”880px”>

<tr>

<td width=”5%”>id</td><td width=”15%”>name</td><td width=”15%”>title</td><td width=”50%”>msg</td><td width=”15%”>time</td>

</tr>

<?php foreach($lists as $row){

?>

<tr><td><?php echo $row[‘id’];?></td><td><?php echo $row[‘name’];?></td><td><?php echo $row[‘title’];?></td><td><?php echo $row[‘msg’];?></td><td><?php echo date(“Y-m-d”,$row[‘addtime’]);?></td></tr>

<?php

}

?>

</table>

<!–留言列表–>

 

<?PHP

}

//分页部分

$pages = $base->page();

echo ‘共’.$pages[‘totals’].’条 ‘.$p.’/’.$pages[‘nums’].’页';

echo “<a style=’margin:0 10px;’ href=’?p=0′ target=’_self’>首页</a>”;

//显示当前页,上一页 下一页 并自定义样式

for($i=0;$i<3;$i++){

$class=”;

$link = 1;

if($p-1>0)$link =$p-1;

$link+=$i;

if($link>$pages[‘nums’])break;

if($link==$p){

$class=”class=’current'”;

}

echo “<a style=’margin:0 10px;’ $class href=’?p=$link’ target=’_self’>”.$link.”</a>”;

}

echo “<a style=’margin:0 10px;’ href=’?p=$pages[nums]’ target=’_self’>末页</a>”;

?>

</div>

<div >

<form action=”” method=”post” name=”myform” id=”myform” onsubmit=”return CheckForm();”>

<input type = “hidden”id =”do” name = “do” value = “add” />

<label for = “username”>用户</label><input id=”username” name=”username”/><br/>

<label for = “title”>标题</label><input id=”title” name=”title”/><br/>

<label for = “msg”>信息</label><textarea id=”msg” name=”msg”></textarea>

<input type= “submit” value = “提交” />

</form>

</div>

 

<?php

break;

 

 

}?>

</div>

</body>

</html>

将文章分享到..
相关新闻
最新新闻
随机新闻
最新网站案例
  • 我们能做什么

    致力于互联网品牌建设与网络营销,专业领域包括网站建设、网站模板、移动互联网营销、wordpress平台开发等,服务范围涵盖基础的域名服务、主机 服务;企业邮箱、云服务器、网络营销等应用服务,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

  • 网站模板优势

  • 更多 +关于爱永设计

    爱永设计工作室一直致力于品牌精美的网页设计、网页制作DIV+CSS布局、JS效果、精美网站模板、标志设计、专业仿站, 低廉的价格,真诚的服务,我们拥有全国各地的客户群体和各行业的成功案例。以一流的服务,出色的网页设计和制作能力,认真严谨的工作态度为客户提供优质满意的服务。期待与您的合作!

Copyright © 2013 - 2019 aysheji.com All Rights Reserved 爱永设计 版权所有
邮箱:aysheji@163.com 在线客服:276583799 模板演示地址:http://www.aymoban.com/ 京ICP备17063353号-3
服务内容: 网页设计 网站建设 网站制作 网站模板 婚庆网站模板 摄影网站 手机网站制作 自适应网站制作