后台用户管理(管理员登录后管理会员)

【预备知识】

一、PHP访问MySQL数据库

1、连接到MySQL数据库

 $conn=mysql_connect("localhost","root","") or die ("数据库服务器连接失败");

2、选择数据库

mysql_select_db("db_shop",$conn) or die("数据库访问错误");

3、执行SQL查询语句

mysql_query("set names gb2312");    //设置客户端字符集为gb2312

$SQL="select * from tb_type";

$result=mysql_query($SQL);       //将SQL语句发送到数据库执行并返回结果资源

4、逐行获取数据

while($row=mysql_fetch_array($result))    //逐行获取类别表数据

  {

echo $row[‘typeid‘];     //输出类别号

echo $row[‘typename‘];    //输出类别名称

echo "<br />";

  }

5、统计查询结果的记录集数

echo $num=mysql_num_rows($result);    //统计类别的数量

【例1】查询商品类别

<?php

  $conn=mysql_connect("localhost","root","") or die ("数据库服务器连接失败");

  mysql_select_db("db_shopping",$conn) or die("数据库访问错误");

  mysql_query("set names gb2312");    //设置客户端字符集为gb2312

  $SQL="select * from tb_type";

  $result=mysql_query($SQL);      //将SQL语句发送到数据库执行并返回结果资源

  echo $num=mysql_num_rows($result);    //统计类别的数量

  echo "<br />";

  while($row=mysql_fetch_array($result))    //逐行获取类别表数据

  {

echo $row[‘typeid‘];     //输出类别号

echo $row[‘typename‘];    //输出类别名称

echo "<br />";

}

mysql_free_result($result);

mysql_close($conn)

?>

【例2】删除某个商品类别

<?php

  $conn=mysql_connect("localhost","root","") or die ("数据库服务器连接失败");

  mysql_select_db("db_shop",$conn) or die("数据库访问错误");

  mysql_query("set names gb2312");    //设置客户端字符集为gb2312

  $SQL="delete from tb_type where id=3 ";

mysql_query($sql,$conn) or die(mysql_error());

if(mysql_affected_rows($conn)>0){

echo "删除成功";

}else{

echo "无符合条件记录";

}

mysql_close($conn);

?>

二、MVC模式

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织代码。

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示数据(数据库记录)。

Controller(控制器)处理输入(写入数据库记录)。

三、图

【任务实施】

一、ZendStdio安装及创建项目

二、Apache建立虚拟目录

三、SQLHelper.class.php封装数据库相关操作

<?php
class SQLHelper{
    private $conn;
    private $host="localhost";
    private $user="root";
    private $pwd="";
  
 private
$db="db_shopping";                                                                                                                                                                                                                                                                                                                   
 
    public function __construct(){

$this->conn=mysql_connect($this->host,$this->user,$this->pwd) or die(mysql_connect_error);
        mysql_select_db($this->db);
        
    }
    public function execute_dql($sql){
        
        $res=mysql_query($sql) or die(mysql_error());
        return $res;
        
    }
    public function execute_dql2($sql){
        //查询,返回数组值
        $arr=array();
        $result=mysql_query($sql,$this->conn) or die(mysql_error());
        while($row=mysql_fetch_assoc($result)){
            $arr[]=$row;
        }
        mysql_free_result($result);
        return $arr;
    
    }
   
    public function executed_dml($sql){
        $b=mysql_query($sql,$this->conn) or die(mysql_error());
        if(!$b){
            return 0;   //不可操作
        }else{
            if(mysql_affected_rows($this->conn)>0){
                return 1;  //操作 成功
            }else{
                return 2;   //可以操作,但无符合条件记录
            }
        }
    }
    public function  close_connect(){
        if(!empty($this->conn)){
            mysql_close($this->conn);
        }
    }
}

?>

四、管理员登录与注销实现

1、Admin.class.php

<?php
class Admin {
    private $id;
    private $name;
    private $password;
    public function getId() {
        return $this->id;
    }
    public function getName() {
        return $this->name;
    }
    public function getPassword() {
        return $this->password;
    }

public function setId($id) {
        $this->id = $id;
    }
    public function setName($name) {
        $this->name = $name;
    }
    public function setPassword($password) {
        $this->password = $password;
    }
}

?>

2、AdminService.class.php实现管理员身份验证

<?php
    require_once ‘SQLHelper.class.php‘;
    require_once ‘Admin.class.php‘;
    class AdminService {
        public function checkAdmin($id,$password){
            $sql="select password,name from admin where id=$id";
            $name="";
            $sqlHelper=new SQLHelper();
            $result=$sqlHelper->execute_dql($sql);
            if($row=mysql_fetch_assoc($result)){
                if($password==$row[‘password‘]){
                  
                $name=$row[‘name‘];    
                }
            }
            mysql_free_result($result);
            $sqlHelper->close_connect();
            return $name;
        }
    }

3、loginProcess获取用户信息,通过service访问数据库,验证是否形式合法新用户,返回用户

<?php
require_once ‘SQLHelper.class.php‘;
require_once ‘AdminService.class.php‘;
$action=$_GET[‘action‘];
if("login"==$action){
    $id=$_POST[‘id‘];
    $password=$_POST[‘password‘];
    $password=md5($password);
    $service=new AdminService();
    $name=$service->checkAdmin($id, $password);
    echo $name;
    
    if($name!=""){
        header("Location:empManage.php?name=$name");
        session_start();//启用session回话
        $_SESSION[‘name‘]=$name;
    
        header("Location:Manage.php");
        exit();
    }
    else {
        header("Location:login.php?errno=1");
        exit();
    }
}

四、实现后台管理页

1、Manager.php

<?php
header("content-type:text/html;charset=utf-8");
session_start();
if(isset($_SESSION[‘name‘])){
    echo "欢迎".$_SESSION[‘name‘]."登陆";
    echo "<br/><a href=‘login.php‘>重新登陆";
    
    echo "<h1>用户管理</h1>";
    echo "<a href=‘userList.php‘>显示用户列表</a><br/>";
    echo "<a href=‘userAdd.php‘>添加用户</a><br/>";
    echo "<a href=‘loginProcess.php?action=exit‘>注销</a><br/>";
}else{
    header("Location:login.php");
}
?>

2、loginProcess注销管理员返回登录界面

if ("exit"==$action){
    session_start();
    $_SESSION=array();
    if(isset($_COOKIE[session_name()])){
        setcookie(session_name(),‘‘,time()-3600);
    }
    session_destroy();
    header("Location:login.php");
    exit();
}

五、实现会员列表

1、自行编写User.class.php

class User {
    private $id;
    private $name;
    private $password;
    private $email;
    private $telephone;

}

2、UserService.class.php

<?php
     require_once ‘SQLHelper.class.php‘;
     require_once ‘User.class.php‘;
 
    class UserService{
        public function getById($id){
            $sql="select * from users where id=$id";
            $sqlHelper=new SQLHelper();
            $arr=$sqlHelper->execute_dql2($sql);
            $user=new User();
            $user->setId($arr[0][‘id‘]);
            $user->setName($arr[0][‘name‘]);
            $user->setPassword($arr[0][‘password‘]);
            $user->setEmail($arr[0][‘email‘]);
            $user->setTelephone($arr[0][‘telephone‘]);
            return $user;
            
            
        }
        public function deleteUser($id)
        {
            $sql="delete from users where id=$id";
            $sqlHelper=new SQLHelper();
            $b=$sqlHelper->executed_dml($sql);
            return $b;
            
        
        }
        public function addUser($name,$password,$email,$telephone){
            
            $sql="insert into users(name,password,email,telephone)values(‘$name‘,‘$password‘,‘$email‘,‘$telephone‘)";
            $sqlHelper=new SQLHelper();
            $b=$sqlHelper->executed_dml($sql);
            
            return $b;
        }
        public function updateUser($id,$name,$password,$email,$telephone){
            $sql="update users set name=‘$name‘,password=‘$password‘,email=‘$email‘,telephone=‘$telephone‘ where id=$id";
            $sqlHelper=new SQLHelper();
            $b=$sqlHelper->executed_dml($sql);
            return $b;
            
        }
     }

3、列表显示会员信息

userList.php

<?php
header("content-type:text/html;charset=utf-8");
require_once ‘SQLHelper.class.php‘;
require_once ‘UserService.class.php‘;

//方式1
    /* $sql1="select id,name from users";
    // $result=$sqlHelper->execute_dql($sql);
    // while($row=mysql_fetch_assoc($result)){
    //     echo"<tr><td>{$row[‘id‘]}</td><td>{$row[‘name‘]}</td><td>删除</td><td>修改</td></tr>";
    // }
    // mysql_free_result($result);
    // $sqlHelper->close_connect();
    
    //MVC方式

$sql1="select id,name from users ";
      $sqlHelper=new SQLHelper();
    $result=$sqlHelper->excute_dql2($sql1);//二维数组
    $sqlHelper->close_connect();
      echo"会员信息表<br/>";
  
 echo"<table border=1
width=600px>

<tr>

<th>id</th><th>name</th><th>删除</th><th>修改</th></tr>";

foreach ($result as $row){
        
        echo"<tr><td>{$row[‘id‘]}</td><td>{$row[‘name‘]}</td><td>删除</td><td>修改</td></tr>";
        //print_r($row[‘id‘]);
        
    }
    echo"</table>";
     
?>
六、删除会员

1、userList.php修改部分

foreach ($result as $row){
        
  
   
 echo"<tr><td>{$row[‘id‘]}</td><td>
{$row[‘name‘]}</td><td><a href=‘userProcess.php?action=delete&id=$id‘>删除</a></td><td>修改<
/td></tr>";
        //print_r($row[‘id‘]);
        
    }

2、userProcess.php实现删除部分内容

if("delete"==$_GET[‘action‘]){
        $id=$_GET[‘id‘];
        $userService=new userService();
        $b=$userService->deleteUser($id);
        if($b==1)
        {
            header("Location:ok.php");
        }else{
            header("Location:error.php");
        }

七、修改会员

1、userList.php修改部分

foreach ($result as $row){

echo"<tr><td>{$row[‘id‘]}</td><td>
{$row[‘name‘]}</td><td><a
href=‘userProcess.php?action=delete&id=$id‘>删除</a></td&
gt;<td>修改<
/td></tr>";
        //print_r($row[‘id‘]);
        
    }

2、updateUserUI界面部分

<?php
require_once ‘User.class.php‘;
require_once ‘UserService.class.php‘;
header("Content-type:text/html;charset=utf-8");
if(!empty($_GET[‘id‘])){
    $id=$_GET[‘id‘];
    $UserService=new UserService();
    $User=$UserService->getById($id);

}

?>
<body>
<p>修改用户信息</p>
<form action="UserProcess.php" method="post">
<table>
<tr>
    <td>用户id</td>
    <td><input type="text" name="id" readonly="readonly" value="<?php echo $User->getId();?>"/></td>
</tr>
<tr>
        <td>用户名</td>
        <td><input type="text" name="name" value="<?php echo $User->getName();?>"/></td>
</tr>
<tr><td>密码</td><td><input type="text" name="password" value=""/></td></tr>
<tr>
<td>邮箱</td>
<td><input type="text" name="email" value="<?php echo $User->getEmail();?>"/></td>
</tr>
<tr>
<td>电话</td>
<td><input type="text" name="telephone" value="<?php echo $User->getTelephone();?>"/></td>
</tr>
<tr>
    <td></td>
    <td><input type="submit"  value="更改"><input type="reset"  value="重写"/></td>
</tr>

</table>
<input type="hidden"  value="update" name="action"/>
</form>
</body>

3、userProcess实现修改部分

if("update"==$_POST[‘action‘]){
        $id=$_POST[‘id‘];
        $name=$_POST[‘name‘];
        $password=$_POST[‘password‘];
        $email=$_POST[‘email‘];
        $telephone=$_POST[‘telephone‘];
        //echo $email;
        $userService=new userService();
        $b=$userService->updateUser($id, $name, $password, $email, $telephone);
        if($b==1)
        {
            header("Location:ok.php");
        }else{
            header("Location:error.php");
        }
    }

八、添加用户信息部分(自主完成)

时间: 2024-08-10 14:46:54

后台用户管理(管理员登录后管理会员)的相关文章

项目的目标及软件用户和管理员登录流程的讨论博客

讨论主题:项目的目标及用户和管理员登录流程 项目进度:初步开发阶段的基础实现 完成功能点:初步用户和管理员登录流程图 我们软件APP为“今天干啥了”,是一个以记录生活点滴,定制时间规划工具和备忘录的工具. 一.目标: ● 提供统一的时间管理,规划好自己的生活. ● 系统提供简洁明了的用户界面,方便用户使用. ● 系统具有良好的使用效率. ● 系统具有一-定的超前性,灵活性,使用各种不同人群. ● 系统可以帮助用户养成有规划的好习惯 二.用户管理员登录页面讨论 1.由于我们对于系统的开发技术没有涉

超级管理员登录后如果连续XX分钟没有操作再次操作需要重新登录

首先在设置session页面时 session_start(); session("name",$adminname); //加入session时间 time() session("time",time()); 再进入 防非法登录的控制器 class CommonController extends Controller { public function __construct() { parent::__Construct(); if(empty($_SESSI

Linux记录每个用户不同会话登录后的所有操作

为记录每个用户对应的操作,利于事后查询 . 修改/etc/profile,添加如下代码 vim /etc/profile history USER=`whoami` USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ]; then USER_IP=`hostname` fi if [ ! -d /var/log/history

去除phpcms会员登录后头部登陆条的会员名称的括号

phpcms会员登录后显示会员名称是带括号的,现在把他修改成不带括号. 找到函数库libs/functions/global.func.php,修改如下即可: function get_nickname($userid='', $field='') {    $return = '';    if(is_numeric($userid)) {        $member_db = pc_base::load_model('member_model');        $memberinfo =

互动媒体学习社区-ASP.NET MVC 后台用户管理模块

在后台用户管理模块中: 用户一共分为三类:0代表注册会员,1代表管理员,2代表超级管理员 页面与功能: 用户列表页. 显示所有用户(管理员,超级管理员) 根据条件查询指定用户(Email,状态)(管理员,超级管理员) 删除用户.(超级管理员) 修改用户状态.(管理员,超级管理员) 跳转至详细页.(管理员,超级管理员) 跳转至新增页面(超级管理员) 用户详细页. 显示用户详细信息. 调整用户类型(超级管理员) 修改用户状态(管理员,超级管理员) 用户新增页面. 新增用户.(超级管理员) 修改密码页

Linux下查看/管理当前登录用户及用户操作历史记录

一.查看及管理当前登录用户 1.使用w命令查看登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及他们正在做的事.该命令所使用的信息来源于/var/run/utmp文件.w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的时间(JCPU时间) 当前进程所用时间(PCPU时间) 用户当前正在使用的命令 $ w 23:04:27 up 29 days, 7:51, 3 users, l

sqlserver2008附加sqlserver2005数据库目录出错,需要设置mdf后缀文件夹“管理员取得所有权”,并用windows管理权限登录数据库不要用sa

看来,倒霉的不是我一个啊,不过我还是发现一个问题,那就是使用了Windows身份验证,如果不使用Windows身份验证会是怎么样一个情况呢?退出SQL2012管理器,用SA重新登陆了一下,然后再执行这个附加操作,居然一下就成功了! 问题终于解决了,但是我也纳闷了,这是为什么呢?经检查,我的数据库文件原来的权限是这样的: 我有理由相信,这个是一个数据库文件的正常权限,加了everyone的所有权限控制那才不正常呢.同时MSSQL$SQLEXPRESS是留给SA登陆的SQLServer管理使用的权限

Office 365管理员指引 2 &mdash;&mdash;管理Exchange Online用户

1) 管理收件人 1. 选择"管理我的组织">"用户和组"> "新建". 2. 输入以下信息: 名.缩写.姓 这些字段不是必需的,但它们很有用. * 显示名称 此名称显示在通讯薄中. 电子邮件的"收件人:"和"发件人:"行上以及 Exchange 控制面板的邮箱列表中.它是必需的. * Windows Live ID 或 Microsoft Online Services ID 由位于 @ 符号

【小白到大牛之路】交换机后台管理之登录菜单

交换机后台管理之登录菜单 项目需求 用户打开交换机后台管理程序时,需要进行"登录"操作,以确认用户身份的合法性.所以,我们需要先实现一个登录菜单,以提示用户执行相关操作. 项目实现 启动命令窗口:在运行窗口输入notepad++,再单击"确定". 设置notepad++的语言为C语言: 设置notepad++的编码为ANSI格式编码(便于再CMD中显示中文) main.c #include <stdio.h> int main(void) {// 打印登