发布时间:2022-02-07 20:55:12 点击数:629
技术架构:
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。
使用php结合数据库进行业务逻辑的开发:
开发工具:
mysql(数据库)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
php(语言)
PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如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)学习如何将php与html结合起来完成简单动态页面
(4)接触mysql,开始设计数据库,如insert,update,delete,select
(5)不断巩固,摸透大部分php常用函数,以及模板
(6)完成一个功能齐全的动态站
(7)由于本次实训时间较短本人,本人掌握的技术也不是特别完全,所以开发的网站功能上也有一定欠缺,争取努力学习技术能可以开发出功能更完善的网站作品