本文目录一览:
php实现日志管理(记录用户操作)原理
把日志需要保留的数据用json串或xml等数据结构的方式存储起来,调用的时候直接解析这些数据结构即可。
按简单的理解,给各模块的关键步骤起个操作名字,记录一下该操作名,时间,用户,IP等就完了。
单入口模式,这样只需要往index.php加入write_log功能就好了。
至于哪个字段,原值,新值,这个没什么好方法啊,可以引入插件机制,
开个类存储插件方法,命名以module_task为准,比如以上的url就是article_update
那么这个插件类就是
class plugin
{
public $extraLog;
function article_update($field,$old,$new)
{
self::$extraLog = array('字段'=$field,'原值'=$old,'新值'=$new);
}
}
这个方法在流程页面进行数据库操作的地方调用,index.php的write_log流程只读plubin::$extraLog,循环然后和其它信息一起入库或文件。
跪求一个好用的php blog源码
PHP168 BLOG功能十分强大!演示地址 下载地址 v2.0.2一款基于PHP的、以MySQL为数据库支持的单用户blog(网络日志)程序特色有: 丰富实用的功能与简单的使用;基于XHTML+CSS+div 布局的模板结构;可自由定制的页面模块;部分基于Ajax的新体验;多语言包化与UTF-8国际编码;强大的spam信息防御机制;RSS、XML-RPC、Tags支持;内置留言本、天气、表情、置顶、验证码、头像等;可通过插件与模板增强您的个性功能下载地址 心晴快乐个人BLOG v1.20一个纯文本方式的个人BLOG系统,使用DIV+JAVASCRIT布局,采用了高效方便的文本数据库类,无需数据库的支持,实现了BLOG各种丰富的功能,可自由添加,删除日志分类,对于每一个日志分类,可以单独设置其访问权限,可通过设置自由发贴开关要限制普通用户的发贴权限,还可以设定是否将新发布的日志加入总日志列表;对于单篇日志,也有相应的访问权限设置,与日志分类的权限设置相结合,可以实现丰富的文章权限功能;日志分类有单篇日志置顶功能BLOG系统以文章管理系统为统一接口,实现了主人寄语,内部链接,友情链接等多种功能,使得对BLOG的管理更加方便和简捷下载地址 爱情小屋 v1.0本系统采用php+mysql+javascript+css构架,具有小巧玲珑,美观,运行速度快等特点。非常适合做个人网站下载地址 博客系统PWblog4.3.2是一套基于php+mysql 数据库平台架构的多用户博客系统,该系统融合了Blog的最新元素,拥有强大的个人主页系统,独立的二级域名功能,灵活的用户模版系统,丰富的朋友圈和个性相册功能。下载地址 请自己选择个人比较喜欢的一个,这是本人用过的几个比较好的推荐给你。-php工作日志管理系统源码
学生管理系统php源码谁有
php学生管理系统源码,供大家参考,具体内容如下
功能:
1.添加/删除/修改
2.数据存储.
界面分布:
index.php
---主界面
add.php ---stu添加
action --- sql中add/del/update
(处理html表单--mysql的数据存储 && 页面跳转)
edit.php ---stu修改
menu.php
--首页
1. index.php
!DOCTYPE html
html lang="en"
head
meta charset="UTF-8"
title学生信息管理/title
script
function doDel(id) {
if(confirm('确认删除?')) {
window.location='action.php?action=delid='+id;
}
}
/script
/head
body
center
?php
include ("menu.php");
?
h3浏览学生信息/h3
table width="500" border="1"
tr
thID/th
th姓名/th
th性别/th
th年龄/th
th班级/th
th操作/th
/tr
?php
// 1. 链接数据库
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
die('connection failed'.$e-getMessage());
}
//2.执行sql
$sql_select = "select * from stu";
//3.data 解析
foreach ( $pdo-query($sql_select) as $row) {
echo "tr";
echo "th{$row['id']} /th";
echo "th{$row['name']}/th";
echo "th{$row['sex']} /th";
echo "th{$row['age']} /th";
echo "th{$row['classid']}/th";
echo "td
a href='edit.php?id={$row['id']}'修改/a
a href='javascript:void(0);' onclick='doDel({$row['id']})'删除/a
/td";
echo "/tr";
}
?
/table
/center
/body
/html
2. add.php
!DOCTYPE html
html lang="en"
head
meta charset="UTF-8"
title学生管理系统/title
/head
body
center
?php include ('menu.php'); ?
h3增加学生信息/h3
form action="action.php?action=add" method="post"
table
tr
td姓名/td
tdinput type="text" name="name"/td
/tr
tr
td年龄/td
tdinput type="text" name="age"/td
/tr
tr
td性别/td
tdinput type="radio" name="sex" value="男"男/td
tdinput type="radio" name="sex" value="女"女/td
/tr
tr
td班级/td
tdinput type="text" name="classid"/td
/tr
tr
!-- td /td--
tda href="index.php"返回/td
tdinput type="submit" value="添加"/td
tdinput type="reset" value="重置"/td
/tr
/table
/form
/center
/body
/html
3. action.php
?php
/**
* Created by PhpStorm.
* User: hyh
* Date: 16-7-7
* Time: 下午9:37
*/
//1. 链接数据库
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
// echo 'Connection failed: ' . $e-getMessage();
die('connection failed'.$e-getMessage());
}
//2.action 的值做对操作
switch ($_GET['action']){
case 'add'://add
$name = $_POST['name'];
$sex = $_POST['sex'];
$age = $_POST['age'];
$classid = $_POST['classid'];
$sql = "insert into stu (name, sex, age, classid) values ('{$name}', '{$sex}','{$age}','{$classid}')";-php工作日志管理系统源码
$rw = $pdo-exec($sql);
if ($rw 0){
echo "scriptalter('添加成功');/script";
}else{
echo "scriptalter('添加失败');/script";
}
header('Location: index.php');
break;
case 'del'://get
$id = $_GET['id'];
$sql = "delete from stu where id={$id}";
$rw = $pdo-exec($sql);
if ($rw 0){
echo "scriptalter('删除成功');/script";
}else{
echo "scriptalter('删除失败');/script";
}
header('Location: index.php');
break;
case 'edit'://post
$id = $_POST['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$classid = $_POST['classid'];
$sex = $_POST['sex'];
// echo $id, $age, $age, $name;
$sql = "update stu set name='{$name}', age={$age},sex='{$sex}',classid={$classid} where id={$id};";-php工作日志管理系统源码
// $sql = "update myapp.stu set name='jike',sex='女', age=24,classid=44 where id=17";
print $sql;
$rw = $pdo-exec($sql);
if ($rw 0){
echo "scriptalter('更新成功');/script";
}else{
echo "scriptalter('更新失败');/script";
}
header('Location: index.php');
break;
default:
header('Location: index.php');
break;
}
4.edit.php
!DOCTYPE html
html lang="en"
head
meta charset="UTF-8"
title学生管理系统/title
/head
body
center
?php include ('menu.php');
//1. 链接数据库
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
die('connection failed'.$e-getMessage());
}
//2.执行sql
$sql_select = "select * from stu where id={$_GET['id']}";
$stmt = $pdo-query($sql_select);
if ($stmt-rowCount() 0) {
$stu = $stmt-fetch(PDO::FETCH_ASSOC); // 解析数据
}else{
die("no have this id:{$_GET['id']}");
}
?
h3修改学生信息/h3
form action="action.php?action=edit" method="post"
input type="hidden" name="id" value="?php echo $stu['id'];?"
table
tr
td姓名/td
tdinput type="text" name="name" value="?php echo $stu['name'];?"/td
/tr
tr
td年龄/td
tdinput type="text" name="age" value="?php echo $stu['age'];?"/td
/tr
tr
td性别/td
td
input type="radio" name="sex" value="男" ?php echo ($stu['sex'] == "男")? "checked":"";? 男
/td
td
input type="radio" name="sex" value="女" ?php echo ($stu['sex'] == "女")? "checked":"";? 女
/td
/tr
tr
td班级/td
tdinput type="text" name="classid" value="?php echo $stu['classid']?"/td
/tr
tr
td /td
tdinput type="submit" value="更新"/td
tdinput type="reset" value="重置"/td
/tr
/table
/form
/center
?php
?
/body
/html
5. menu.php
!DOCTYPE html
html lang="en"
body
h2学生管理系统/h2
a href="index.php" 浏览学生/a
a href="add.php" 添加学生/a
hr
/body
/html