PHP+Access设计留言版实战(2)
http://tech.ddvip.com 2007年08月26日 社区交流
内容摘要:PHP+Access设计留言版实战
function showf($mode=1){
//--------------------->这个小函数是输出管理员登陆表单的,2中模式,和发表留言的思路一样
if ($mode==1)
{$admin_f="admin.php";}
else
{
$admin_f="admin.php?doaction=sys";
}
?>
<form action="<?=$admin_f?>" method="post" name="newform" id="newform">
<label>用户:<input name="username" type="text" size="10" maxlength="10" /></label>
<label>密码:<input name="password" type="text" size="20" maxlength="10" /></label>
<label><input maxlength="20" type="submit" name="Submit" value=" 登陆" > </label>
</form>
<?}?>
<?php
$admin = false;
//--------------------->防止全局变量造成安全隐患
session_start();
//--------------------->启动会话,这步必不可少
if (isset($_SESSION["admin"]) )
{
//--------------------->判断是否登陆,如果session["admin"]不为空,已经登陆.深度是 1
echo "<h4>您已经成功登陆--></h4>";
if(isset($_GET['doaction']))
{
//--------------------->登陆成功后,提交字段action不为空时执行,深度 2
$doaction = $_GET['doaction'];
switch($doaction){
case 'sys':
//--------------------->登陆成功后,提交字段action为"sys"执行,深度 3
echo"系统设置-->";
if($Submit)
{
foreach ($posts as $key => $value)
{ $posts[$key] = trim($value); }
$password=md5($password);
$conn->execute("update [php_admin] set [szd_user]='$username',[szd_password]='$password'");
echo "成功,2秒后返回";
echo "<meta http-equiv="refresh" content="1;URL=admin.php">";
}else{
showf(2);
}
break;
case 'logout':
//--------------------->登陆成功后,提交字段action为"logout"执行清除session,深度 3
session_start();
unset($_SESSION["admin"]);
header('location:index.php');
die;
break;
case 'delete':
//--------------------->登陆成功后,提交字段action为"delete"执行删除留言,深度 3
$conn->execute("delete * from [php_guest] where id=$id") ;
echo "删除成功,2秒后返回";
echo "<meta http-equiv="refresh" content="1;URL=index.php">";
die;
break;
case 'editor':
//--------------------->登陆成功后,提交字段action为"editor"执行编辑留言,深度 3
if($Submit)
{
//--------------------->登陆成功后,提交字段action为"editor"而且表单已经提交时执行,深度 4
$posts = $_POST;
foreach ($posts as $key => $value)
{ $posts[$key] = trim($value);
}
$conn->execute("update [php_guest] set [szd_user]='$user',[szd_title]='$title',[szd_qq]='$qq',[szd_content]='$ly',[szd_rep]='$rep' where id=$id");
header("location:index.php");
}
else
{
//--------------------->登陆成功后,提交字段action为"editor"而且表单已经没有执行,深度 4
$rs=$conn->execute("select * from [php_guest] where id=$id");
if($rs->eof and $rs->bof){
header("location:index.php");
die;}
require_once('postfunction.php');
postfunction($rs->fields[1],$rs->fields[3],$rs->fields[2],$rs->fields[4],$rs->fields[0],$rs->fields[6],2); }
default:
break;
}
}else
{
//--------------------->登陆成功后,提交字段action为空时执行,深度 2
?>
<ul>
<li><a href="?doaction=sys">系统设置</a></li>
<li><a href="?doaction=logout">退出登陆</a></li>
</ul>
<?}
}
else
{
//--------------------->判断:如果session["admin"]为空,没登陆.深度是 1
?>
<?php
if($Submit){
//--------------------->判断表单提交后.深度是 2
$posts = $_POST;
//--------------------->清除一些空白符号.深度是 3
foreach ($posts as $key => $value)
{
$posts[$key] = trim($value);
}
$password = md5($posts["password"]);
//--------------------->自带md5加密
$username = $posts["username"];
if (empty($password)||empty($username))
{echo "<meta http-equiv="Content-Type" content="text/html; charset=gb2312">";
echo "<script language=javaScript>
alert("输入必要的信息")
</script>";
echo "<script language=javascript>javascript:history.back()</script>";
exit();}
$query = "SELECT id FROM [php_admin] WHERE [szd_password] = '$password' and [szd_user]='$username'";
$userInfo = $conn->execute($query);
//--------------------->取得查询结果,深度是 4
if (!($userInfo->eof and $userInfo->bof ))
{
//--------------------->如果有符合输入的记录,登陆成功
session_start();
//--------------------->当验证通过后,启动 Session
$_SESSION["admin"] = 1;
//--------------------->登陆成功的 admin 变量,并赋值 1
header('location:admin.php');
}
else
{
//--------------------->如果发生eof 和 bof 错误,用户名或者密码错,报错,深度是 4
echo "<meta http-equiv="Content-Type" content="text/html; charset=gb2312">";
echo "<script language=javaScript>
alert("密码错误或者用户名错误")
</script>";
echo "<script language=javascript>javascript:history.back()</script>";
exit();
}
}
else
{
//--------------------->用户没登陆而且表单没提交,输出表单.深度是 2
showf();
}
?>
<?}?>
责编:豆豆技术应用
正在加载评论...
- php 正则表达式
- php 入门教程
- php 安装配置
- php 函数专题
- php 函数大全(EN)
- php 5.0 中文手册
- php 4.0 中文手册
- php 程序编码规范标准
- php 常见错误
- php 中文乱码
- php Apache 安装配置
- linux php 安装配置
- windows php 安装配置
- php 十天入门教程
- php 学习笔记
- php smarty 教程
- php 分页专题
- php 类
- php 变量
- php 常量
- php 数组
- php 脚本
- php 入门实例
- php 字符串
- php.ini 配置
- php xml 专题
- php session 教程
- php 对象模型
- 更多php专题……