zoukankan      html  css  js  c++  java
  • PHP和MySQL Web开发从新手到高手,第8天-创建categories管理页面

    1. 创建categories管理页面

      主要包含以下几个页面:

      A. index.php, 准备各种变量数据.供展示页面使用.

      B. categories.html.php, 显示categories.

      C. form.html.php, 用于编缉或添加作者的页面.

    页面郊果:

    image

    2. categories页面的主要流程

    categories

    2.1 是否已登录

    if (!user_is_login()){
          include '../login.html.php';
          exit();
      }

    2.2 是否有权限

    if (!user_has_role('Content Editor')){
          $error = 'only Content Editor may access this page...';
          include '../access.denied.html.php';
          exit();
      }

    2.3 添加分类目录

    // add categories
      if (isset($_GET['add'])) {
          include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/db.inc.php';
          try {  
              $pageTitle = 'Add category';
              $action = 'addCategory';
              $categoryText = '';
              
              $id = '';
              $button = 'Add category';
                  
              include 'form.html.php';
              exit();
      
          } catch (PDOException $e) {
              $error = 'Error getting list of jokes to edit...'.$e->getMessage();
              include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/error.html.php';
              exit();
          }
      }
      
      // add categories
      if (isset($_GET['addCategory']) && $_POST['categoryText'] != '') {
          include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/db.inc.php';
           
          try {
              $sql = 'INSERT INTO category(name) VALUES(:categoryText);';
              $s = $pdo->prepare($sql);
                  
              $s->bindValue(':categoryText', $_POST['categoryText']);
      
              $s->execute();
          } catch (PDOException $e) {
              $error = 'Error adding category...'.$e->getMessage();
              include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/error.html.php';
              exit();
          }
    
          header('Location: .');
          exit();
      }

    2.4 编缉分类目录

    // edit categories
      if (isset($_POST['action']) and $_POST['action'] == 'Edit') {
          include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/db.inc.php';
          try {
              $sql = 'SELECT name FROM category WHERE id = :id';
              $s = $pdo->prepare($sql);
              $s->bindValue(':id', $_POST['id']);
              $s->execute();
      
              $row = $s->fetch();
      
              $pageTitle = 'Edit category';
              $action = 'editCategory';          
              $categoryText = $row['name'];
              
              $id = $_POST['id'];
              $button = 'Update category';
    
              include 'form.html.php';
              exit();
      
          } catch (PDOException $e) {
              $error = 'Error getting list of category to edit...'.$e->getMessage();
              include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/error.html.php';
              exit();
          }
      }
      
      // edit categories
      if (isset($_GET['editCategory']) && $_POST['categoryText'] != '') {
          include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/db.inc.php';
          
          try {
              $sql = 'UPDATE category SET
                  name = :name
                  WHERE id = :id;';
              $s = $pdo->prepare($sql);
               
              $s->bindValue(':name', $_POST['categoryText']);
              $s->bindValue(':id', $_POST['id']);
              
              $s->execute();
          } catch (PDOException $e) {
              $error = 'Error updating categories...'.$e->getMessage();
              include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/error.html.php';
              exit();
          }
          
          header('Location: .');
          exit();
      }
    2.5 删除分类目录
    if (isset($_POST['action']) and $_POST['action'] == 'Delete') {      
          include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/db.inc.php';
          
          // delete jokecategory entries
          try {
              $sql = 'DELETE FROM jokecategory WHERE categoryid = :id';
              $s = $pdo->prepare($sql);
              $s->bindValue(':id', $_POST['id']);
              $s->execute();          
          } catch (PDOException $e) {
              $error = 'Error deleting jokecategory...'.$e->getMessage();
              include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/error.html.php';
              exit();
          }
                
          // delete category entries
          try {
              $sql = 'DELETE FROM category WHERE id = :id';
              $s = $pdo->prepare($sql);
              $s->bindValue(':id', $_POST['id']);
              $s->execute();
          } catch (PDOException $e) {
              $error = 'Error deleting category...'.$e->getMessage();
              include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/error.html.php';
              exit();
          }
    
          header('Location: .');
          exit();
      }

    2.6 显示分类目录

    // show all categories in database...
      try {
          include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/db.inc.php';
          $querySql = "SELECT id, name FROM category;";
          $result = $pdo->query($querySql);
          
          foreach ($result as $row) {
              $categories[] = array('id'=>$row['id'], 'name'=>$row['name']);          
          }          
          
          //if (count($categories) > 0) 
          {
              $sql = "SELECT COUNT(*) AS RCT FROM category;";
              $s = $pdo->prepare($sql);
              $s->execute();
              $row = $s->fetch();
              $rowCount = $row['RCT'];
              include 'categories.html.php';
          } 
      } catch (PDOException $e) {
          $error = "query category failed...".$e->getMessage();
          
          include $_SERVER['DOCUMENT_ROOT'].'/PHP_MySQL_Web/includes/error.html.php';
          exit();
      }
  • 相关阅读:
    201571030142 四则运算
    略读《构建之法》
    基于原型的软件需求获取
    Java实现小学四则运算练习系统(UI)
    Java实现小学四则运算练习
    201571030104+ 快速通读教材《现代软件工程——构建之法》
    对pow函数的思考
    mysql转移后,启动失败问题
    递归
    requests+re(正则)之猫眼top100排名信息爬取
  • 原文地址:https://www.cnblogs.com/BigBigLiang/p/4934243.html
Copyright © 2011-2022 走看看