php后台管理功能模块:添加管理员与管理员列表

添加管理员:

核心代码

<form action="doAdminAction.php?act=addAdmin" method="post" >

<table width="70%" border="1" cellpadding="5" cellspacing="0" bgcolor="#cccccc">



<tr>

<td align="right">用户名</td>

<td><input type="text" name="userName" placeholder="请输入用户名"/></td>

</tr>



<tr>

<td align="right">管理员密码</td>

<td><input type="password" name="passWord" placeholder="请输入密码"/></td>

</tr>

<tr>

<td align="right">确认管理员密码</td>

<td><input type="password" name="passWord2" placeholder="确认密码"/></td>

</tr>

<tr>

<td align="right">邮箱</td>

<td><input type="email" name="email" placeholder="请输入邮箱"/></td>

</tr>

<tr>

<td colspan="2"><input type="submit" value="添加管理员"/></td>

</tr>

</table>

</form>

界面

逻辑:

1.表格form提交表单,提交到doAdminAction.php,传入参数act,值是addAdmin

doAdminAction.php

<?php

require_once 'include/common.inc.php';

checkUser();

$act = isset($_GET['act']) ? $_GET['act'] : null;

$id = isset($_GET['id']) ? intval($_GET['id']) :null;

if ($act == 'addAdmin')

{

$res = addAdmin();

}



捕获act参数,然后执行addAdmin()函数

/**

* 添加管理员

* @return string

*/

function addAdmin()

{

global $con;

$arr['username'] = $_POST['userName'];

$passWord = $_POST['passWord'];

$passWord2 = $_POST['passWord2'];

if ($passWord !== $passWord2) {

return "<a href='addAdmin.php'>输入密码不一致,请重新输入</a>";

}else{

$arr['password'] = md5($_POST['passWord']);

$arr['email'] = $_POST['email'];

$res = insert($con,'wukong_admin',$arr);

if ($res)

{

$res = '管理员添加成功'."<br>"."<a href='addAdmin.php'>继续添加管理员</a>|<a href='listAdmin.php'>查看管理员</a> ";



}else{

$res = '管理员添加失败'."<br>"."<a href='addAdmin.php'>重新添加管理员</a>|<a href='listAdmin.php'>查看管理员</a> ";

}

}

return $res;



}

addAdmin里执行的不是最原始的php的sql函数,是一个封装好的。insert函数(插入一条记录)。具体内容为:

/**

* 插入一条记录

* @param $link

* @param $table

* @param $arr

* @return int|string

*/



function insert($link,$table,$arr){

$key = '`'.join('`,`',array_keys($arr)).'`';

$value = "'".join("','",array_values($arr))."'";

$sql = "insert into $table({$key}) values({$value})";

$res = mysqli_query($link,$sql);

if (!$res)

{

echo '数据库插入失败 '.mysqli_error($link);

}else{

return mysqli_insert_id($link);

}

}

管理员列表

管理员列表的显示:


<?php

require_once 'include/common.inc.php';

checkUser();



global $con;

// $sql = "select * from wukong_admin";

$sql ="select id,username,email from wukong_admin";

$rows = fetchAll($con,$sql);

?>

<table class="table" cellspacing="0" cellpadding="0">

<thead>

<tr>

<th width="15%">编号</th>

<th width="25%">管理员名称</th>

<th width="30%">管理员邮箱</th>



<th>操作</th>

</tr>

</thead>



<tbody>

<?php $i=1;?>

<?php foreach($rows as $row): ?>



<tr>

<td><input type="checkbox" id="c1" class="check"><label for="c1" class="label"></label><?php echo $i; ?></td>

<td><?php echo $row['username'];?></td>

<td><?php echo $row['email'];?></td>

<td align="center"><input type="button" value="修改" class="btn" ONCLICK="editAdmin(<?php echo $row['id'];?>)">

<input type="button" value="修改密码" onclick="editPassword(<?php echo $row['id']; ?>)" class="btn" >

<input type="button" value="删除" onclick="delAdmin(<?php echo $row['id'];?>)" class="btn" ></td>

</tr>





<?php $i++; endforeach; ?>

1.首先是一个表格把标题栏写出来,

2.下面的数据是通过一个自定义函数fetchAll获取全部数据,返回一个二维数组,用$rows接收

3.然后在php 的foreach循环里用echo打印一下就可以了(键名索引)

添加:左上角的添加就是用一个按钮,添加一个点击事件,当点击的时候,跳转到添加页面

<div class="bui_select">

<input type="button" value="添&nbsp;&nbsp;加" class="add" onclick="window.location.href='addAdmin.php'">

</div>

修改

点击修改时,触发点击事件,调用编写的editAdmin函数

要传入修改的管理员的id

然后在跳转的时候同样传入id,还有要执行的操作参数act

<input type="button" value="修改" class="btn" ONCLICK="editAdmin(<?php echo $row['id'];?>)">



function editAdmin(id){

// alert(id);

window.location.href="editAdmin.php?act=editEmail&id="+id;

}

传递到editAdmin.php后

<?php

require_once 'include/common.inc.php';

checkUser();

$id = isset($_GET['id']) ? $_GET['id'] :null;

//强制转换为数字 防止非法字符输入

$id = intval($id);

$row = findAdmin($id);

if(!$row)

{

showMsg("参数错误!",'listAdmin.php');

// echo "参数错误|<a href=''>查看管理员列表</a>";

//不加exit 下面的还可以执行

exit();

}

?>

查询一下有没有这个管理员,没有的话,报错,退出

有的话,

<form action="doAdminAction.php?act=editEmail&id=<?php echo $id; ?>" method="post" >

<table width="70%" border="1" cellpadding="5" cellspacing="0" bgcolor="#cccccc">

<tr>

<td align="right">邮箱</td>

<!-- placeholder改成value-->

<td><input type="email" name="email" value="<?php echo $row['email'] ?>"/></td>

</tr>

<tr>

<td colspan="2"><input type="submit" value="修改管理员"/></td>

</tr>

</table>

</form>

填入需要修改的邮箱,然后post提交。

提交到doAdminAction页面,带上两个参数,行为act和管理员id

doAdminAction.php

调用editEmail函数

/**

* 修改管理员邮箱

* @param $id

* @return string

*/

function editEmail($id)

{

// echo $id;

$id = intval($id);

global $con;

$arr['email'] = $_POST['email'];

$where ="id = $id";

$res = update($con,'wukong_admin',$arr,$where);

if($res >=0)

{

$res = "管理员邮箱修改成功| <a href='listAdmin.php'>查看管理员列表</a>";

}else{

$res = "管理员邮箱修改失败| <a href='listAdmin.php'>查看管理员列表</a>";

}

return $res;

}

这里会接收id和修改后的邮箱,执行一个自定义的修改函数

update

/**

*更新数据库

* @param $link

* @param $table

* @param $arr

* @param null $where

*/

function update($link,$table,$arr,$where = null)

{

//这样修改对吗?? rows是啥

$rows = null;

foreach ($arr as $key => $value){



if ($rows == null)

{

$grep =null;

}else{

$grep = ',';

}

$rows .= $grep. '`'.$key.'`'.'='."'".$value."'";

}

$where = $where == null ? $where : "where {$where}";

$sql = "update $table set {$rows} $where";

// echo $sql.'<br>';

$res = mysqli_query($link,$sql);

if (!$res)

{

echo '数据库更新失败 '.mysqli_error($link);

}else{

return mysqli_affected_rows($link);

}

}






 

猜你喜欢

转载自blog.csdn.net/qq_43200143/article/details/113355169