PHP网页设计作业实训报告怎么写?

发布时间:2022-02-07 20:55:12 点击数:629

技术架构

B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如ChromeSafariMicrosoft EdgeNetscape NavigatorInternet Explorer,服务器安装SQL ServerOracleMYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。

 

使用php结合数据库进行业务逻辑的开发

开发工具:

mysql(数据库)

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

php(语言)

PHPPHP: Hypertext Preprocessor)即超文本预处理器,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳JavaPerl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。  PHP同时支持面向对象和面向过程的开发,使用上非常灵活。

Phpstudy集成环境服务器)

phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。

css div html(前端)

phpstudy(集成环境)  dw(前端编写) vscode(代码 编辑) phpamydmin(管理创建数据库)

主要用到的php+mysql 涉及insert 增加 delete 删除 select 查询 update 更新

while,for循环显示,if条件判断等

登录新动态使用session cookie记录

主要功能代码:

 

主要功能代码:

Conn.php

<?php

    session_start();//开启session

    define('DB_HOST','127.0.0.1');

    define('DB_USER','root');

    define('DB_PWD','root'); //数据库密码

    define('DB_NAME','work_note_huoying'); //数据库名

    error_reporting(0);

    $conn = @mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME) or die('数据连接失败');

    mysqli_query($conn,'SET NAMES UTF8') or die('字符集错误');//设置连接字体集

?> 

 

 

Action.php 预约数据写入

<?php 

include 'conn.php';

if ($_POST){

  $query = mysqli_query($conn,"insert into note (name,phone,num,date,addtime) values ('{$_POST['name']}','{$_POST['phone']}','{$_POST['num']}','{$_POST['date']}',now())");

  echo '<script>alert("预约成功");window.location.href="index.html"</script>';

};

 

?>

 

Logout.php 用户退出

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<?php

//退出登录 清空SESSION信息

session_start();

$_SESSION['username'] = '';

$_SESSION['uid'] = '';

echo "<script type='text/javascript'>alert('退出登录!');window.location.href='index.html';</script>";

?>

 

Adminlogindo.php管理员登录

<?php 

ob_start();

include '../conn.php';

if ($_GET['action']=='login'){

    $query = mysqli_query($conn,"select * from admin where username='{$_POST['username']}' && password='{$_POST['password']}'");//查询管理员帐号密码信息

    if ($rows=!mysqli_fetch_array($query,MYSQLI_ASSOC)){//如果没有数据则代表登录失败

        echo "<script type='text/javascript'>alert('登陆失败!');history.back();</script>";

    }else{

        setcookie('username',$_POST['username']);

        echo "<script type='text/javascript'>alert('登陆成功!');window.location.href='adminnote.php';</script>"

    }

}

?>

 

Adminnote.php  预约列表:

 <table width="100%" border="1">

         <tr>

            <td  ><strong>ID</strong></td>

            <td  ><strong>姓名</strong></td>

            <td  ><strong>联系电话</strong></td>

            <td  ><strong>时间</strong></td>

            <td  ><strong>人数</strong></td>

            <td  ><strong>操作</strong></td>

          </tr>

          <?php 

              $num_rec_per_page = 4;

              if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 

              $start_from = ($page-1) * $num_rec_per_page;   

 

              $_query=mysqli_query($conn,"select * from note  order by id desc LIMIT $start_from$num_rec_per_page "); //循环分页显示 查询出来的预约数据

              

              while (!!$_rows=mysqli_fetch_array($_query,MYSQLI_ASSOC)){ 

 

            ?>

           <tr>

          <td><?php echo $_rows['id']; ?></td>

            <td><?php echo $_rows['name']; ?></td>

            <td><?php echo $_rows['phone']; ?></td>

            <td><?php echo $_rows['date']; ?></td>

            <td><?php echo $_rows['num']; ?></td>

            <td><a href="?action=del&id=<?php echo $_rows['id'?>">删除 </a></td>

          </tr>

          <?php 

          };

          ?>

        </table>

        <p align="center">

          <?php

            

            $total_records = mysqli_num_rows($_query);  // 统计总共的记录条数

 

            $total_pages = ceil($total_records / $num_rec_per_page);  // 计算总页数

 

            echo "<a href='?page=1'>".'|<'."</a> "// 第一页

 

            for ($i=1$i<=$total_pages$i++) { 

                  echo "<a href='?page=".$i."'>".$i."</a> "

            }; 

            echo "<a href='?page=$total_pages'>".'>|'."</a> "// 最后一页

          ?>

 

        </p>

 

Adminrepassword.php  管理员密码修改:

    <?php

    if (empty($_COOKIE['username'])){  //判断cookie 中的username是否为空 

        echo "<script type='text/javascript'>alert('请先登陆!');history.back();</script>";

    }

      include '../conn.php';

    

          if ($_POST){//判断是否有提交数据

              $query = mysqli_query($conn,"select * from admin where password = '{$_POST['oldpassword']}' and username = '{$_COOKIE['username']}'");

              $rows=mysqli_fetch_array($query,MYSQLI_ASSOC);

          if(!$rows){

              echo "<script type='text/javascript'>alert('原密码有误');window.location.href='adminrepassword.php';</script>";

          }else{

              $query = mysqli_query($conn,"update admin set password = '{$_POST['password']}' where username = '{$_COOKIE['username']}");//根据cookie 信息修改数据 

              echo "<script type='text/javascript'>alert('修改成功');window.location.href='admin.php';</script>";

          }

      };

  ?>

    ?>

 

 


 

总结:

1)熟悉html/css等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度

(2)理解动态语言的概念,运做机制,熟悉php,如if, while,for,else,session,cookie语法

(3)学习如何将phphtml结合起来完成简单动态页面

(4)接触mysql,开始设计数据库,insert,update,delete,select

(5)不断巩固,摸透大部分php常用函数,以及模板

(6)完成一个功能齐全的动态站

(7)由于本次实训时间较短本人,本人掌握的技术也不是特别完全,所以开发的网站功能上也有一定欠缺,争取努力学习技术能可以开发出功能更完善的网站作品