PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】

技能的东西在这里
PHP要怎么学–【思维导图知识范围】
更多项目在这里
基于jsp的塞北村镇旅游网站的设计与实现–【毕业论文】

文章目录

    • 本系列校训
    • 本项目使用技术
  • 首页
    • 乱码的问题
    • 题外的小插曲
    • 必要的项目知识
      • PHP
      • ThinkPHP
      • ThinkPHP的MVC
      • ThinkTemplate
      • ThinkPHP 6和ThinkPHP 5
  • phpStudy 设置
  • 导数据库
  • 展示页面
  • 数据库表结构
  • 项目目录如图:
  • 代码部分:
    • 连数据库
  • 参考
  • 配套资源
  • 作业:

本系列校训

用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干!
别人项目要白嫖,网上就找范德彪!IT之路千千万,成功之法只一条!
----------白嫖别人都有理,那是洒家看得起,要是项目不咋地,天津包子狗不理!

本项目使用技术

PHP无类 PHP类写法 ThinkPHP框架 其它框架
*

环境

PHP版本 mysql版本 运行工具 编辑工具
5.5.38+Apache 5.5(phpstudy自带) phpstudy2018 phpStorm 2018

首页

PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第1张图片

注意:
如果上面出现警告代码的话,
直接修改php.ini 文件配置

php.ini
warning关闭的方法:首先找到并打开php.ini配置文件;然后修改内容为“display_errors=Off”;最后保存修改即可。

修改了代码,就没有烦人的警告信息了。

小技巧,可以在phpstudy里设置一个关了警告的,另一个则是打开警告的。调试的时候,切换打开警告的,等开发完成了,再使用关闭警告的PHP版本。真香!

乱码的问题

一些项目打开会有乱码的问题,本来呢这个要是使用了hbuilder 反而不成问题。其实就是用phpstorm 2018 也不是啥大问题,就按提示点一下确定就行了。
如果要设置,在这里。
PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第2张图片

题外的小插曲

如果mysql 冲突了。我找到一个mysql 的卸载的文章

超详细卸载mysql教程(按照步骤可完全卸载) 更新时间:2023年03月23日 09:45:40 作者:码云铁粉
这mysql和vmware一样不卸载干净问题是真的多,搞得有些朋友都想重装系统了,没事我来说一下mysql如何卸载干净,下面这篇文章主要给大家介绍了关于超详细卸载mysql的教程,只要按照步骤可完全卸载,需要的朋友可以参考下
右击【计算机】,选择【管理】,打开“计算机管理”界面
在这里插入图片描述
选择【服务和应用程序】中的【服务】,在右侧找到【mysql】,右键,选择【停止】
在这里插入图片描述
步骤2:卸载mysql软件
可以在控制面板中卸载,把mysql相关的全部卸载掉,mysql安装包也卸载掉,一会安装的时候重新下载安装包就行
1、卸载过后删除C:\Program Files (x86)\MySQL该目录下剩余了所有文件,把mysql文件夹也删了
2、删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹,如果没有可以不用删除了。
3、删除C盘下的C:\ProgramData\MySQL 所有文件,如果删除不了则用360粉碎掉即可,该programData文件是隐藏的默认,设置显示后即可见
4、关键!!!!删除C:\Documents and Settings\All Users\Application Data\MySQL下的文件夹,一定要删,你可以直接复制粘贴,就会看到这个文件夹
5注:这步是最繁琐的也是最为关键的,很多人就是因为在这步骤中没有清理干净注册表信息,从而不能重新安装成功。
1、windows+R运行“regedit”文件,打开注册表
2、删除注册表:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹,按照这个路径一个一个打开
这样就可以重新安装MySQL软件了! 篇二:

彻底删除mysql方法

1、首先,先在服务(开始——>控制面板——>管理工具——>服务)里停掉MySQL的服务。打开控制面板-添加删除程序,找到MySQL,卸载。或者用360安全卫士来卸载也行。也可以用mysql的那个安装程序删除

2、把安装好的MYSQL卸载了,但这对于卸载MySQL来说这只是一半,还有重要的另一半是要清理注册表。我们要进入注册表在开始-运行里面输入regedit,打开注册表

3、 找到关于MYSQL的项把他们都删除,要一个项一个项的查找把他们都删除,这样在安装的时候就可以了。其实注册表里MySQL的项就是这三项:

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL

4、还有就是C:/WINDOWS 下的my.ini文件也删除!

这样,把上面的四项删除了之后,MySQL就基本卸载完全了。如果你还不放心的话,可以在C盘查找mysql,把相关的项都删除。

SQL92标准概述
SQL(Structured Query Language)结构化查询语言是用于管理关系型数据库的语言,它包含了数据定义、数据操纵和数据查询三个方面。SQL92是美国国家标准协会(ANSI)和国际标准化组织(ISO)于1992年制定的SQL标准,是SQL语言第二代标准。SQL92标准已经成为了关系型数据库的通用标准,几乎所有主要的关系型数据库都实现了该标准。
SQL92标准中定义了一系列的规范,包括数据类型、运算符、函数、存储过程、触发器、视图等各种方面。SQL92标准的主要目的是定义一个基本的SQL操作语言,它大大简化了对于应用程序开发人员查询和编写SQL的难度。
二、SQL92标准的主要特性
SQL92标准包含了许多重要的特性,以下是其中的一些:
1、支持基于关系模型的数据存储和查询
SQL92标准支持基于关系模型的数据存储和查询,这种数据模型是由独立的表和表之间的关系组成的。应用程序可以通过SQL语句添加、删除、修改和查询表中的数据。
2、标准化的SQL语法
SQL92标准定义了一种标准化的SQL语法,这使得不同数据库管理系统之间的SQL查询语句具有通用性,大大增强了数据的可移植性。在SQL92标准中,任何符合标准的SQL查询语句都可以在任何符合标准的数据库管理系统上执行。
3、支持事务处理
SQL92标准支持事务处理,事务是指一组关联的数据库操作,这些操作要么全部成功,要么全部失败。通过事务处理,可以确保数据库在执行任何关键操作时保持一致性、可靠性和安全性。
4、支持数据完整性约束
SQL92标准支持数据完整性约束,它们可以强制执行在某些条件下对数据库的更改,从而保证数据库的完整性和准确性。这些约束可以定义在特定的列、表、数据库或者整个数据库上,例如唯一性、非空性、外键等。

必要的项目知识

很多人以为PHP招的人少,是因为PHP做出来的项目少,事实上还真的是理解错了。只是PHP的小项目因为用的人少,不需要怎么升级,怎么维护,所以PHP用人比较少,但是你要真的看你手机里的很多收费的小软件,PHP怕是比JAVA的还多一些呢。
说是现在找一些个人推出视频的,你看他们自己的小网站,估计仍然是PHP占多数。

PHP

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。 [1-2]PHP同时支持面向对象和面向过程的开发,使用上非常灵活。
PHP是一个拥有众多开发者的开源软件项目,最开始是Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”。PHP是在1994年由Rasmus Lerdorf创建的 [30],最初只是一个简单的用Perl语言编写的统计他自己网站访问者数量的程序。后来重新用C语言编写,同时可以访问数据库,1995年,PHP(Personal Home Page Tools)对外发表第一个版本PHP1。此后,越来越多的网站开始使用PHP,并且强烈要求增加一些特性,如循环语句和数组变量等,1995年发布的PHP2加入了对mySQL的支持。
PHP语言作为一种高级语言,其特点是开源, 在设计体系上属于C语言体系,它可以让很多接受过高等教育的初学者能很快接受并完成入门学习,简单好上手容易找工作自然粉丝多。如果数据量大及访问压力大,可以集成redis、mysql分表分区分库、elasticsearch搜索引擎、消息队列写保护和php系统分布式集群部署等技术方案,缓解数据存储、服务访问和数据检索带来的巨大压力。
无论是大中小型项目,PHP都是一个十分适合的高级编程语言,是否适合就看项目研发团队的对它的掌握程度。 但是对于较大的和更为复杂的项目,最常见的php-fpm编程模式就显出它的薄弱了。针对PHP-fpm暴露出的一系列缺点问题,最简单靠谱的方案就是及时升级兼容PHP的高版本,PHP7.0.0 [14]对比PHP5.6性能提升了2倍,另外PHP7.4提供的Preloading预加载机制 [11]实现了部分程序常驻内存,获取了不错的性能提升,在PHP8又提供了高效的JIT (Just-In-Time即时编译) [12]运算支持。另外水平更高的开发者可以转向难度更高的php-cli编程,它能解决大部分的系统性能问题,无论是PHP7和PHP8都支持这种模式的编程。

性能提升
PHP版本越高它的整体性能越高,根据官方介绍,PHP7.0.0
[14]对比PHP5.6性能就提升了2倍,PHP7.4已经比PHP7.0快了约30%,PHP8.0在性能上又相对PHP7.4大约改进了10%。PHP
8.0 引入了 JIT编译器特性,同时加入多种新的语言功能,例如命名参数、联合类型、注解、Constructor Property Promotion、match 表达式、nullsafe
运算符以及对类型系统、错误处理和一致性的改进。PHP拥有自己的核心开发团队,保持5年发布一个大版本、1个月发布2个小版本的频率,最新的版本是PHP8.08
[15]。PHP 7.0.0 [16]发布于2015-12-03,此版本下最新版本是PHP 7.4.21
[18](发布日期:2021-07-01),PHP 8.0.0 [17]发布于2020-11-26,此版本下最新版本是PHP
8.0.8(发布日期:2021-07-01)。

ThinkPHP

ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
前面略
2015年12月11日,ThinkPHP 5.0 Beta 发布;
2017年02月27日,Thinkphp5.0.5完整版正式发布 [3] ;
2018年05月02日,Thinkphp5.1.0RC版本发布; [4]
2019年04月22日,Thinkphp6.0RC2版本发布 [5] ;
2019年08月16日,Thinkphp6.0RC4版本发布 [6] ;
2019年12月24日,Thinkphp6.0.1版本发布 [7] ;

ThinkPHP的MVC

简单易用
模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。
控制器(C):应用控制器(核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程,而应用控制器(App类)负责调度控制。Action控制器位于项目目录下面的LibAction目录。
视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。模板目录位于项目目录下面的Tpl目录。

ThinkTemplate

ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。其特点包括:
1)支持XML标签库和普通标签的混合定义;
2)编译一次,下次直接运行而无需重新编译;
3)模板文件更新后,自动更新模板缓存;
4)自动加载当前操作的模板缓存文件,无需指定模板文件名称;
5)支持编码转换和Content-Type更换;
6)模板变量输出前缀支持,避免变量名称冲突;
7)模板常量替换,无需设置模板变量;
8)支持变量组合调节器和格式化功能;
9)支持替换其它模板引擎插件使用;
10)支持获取模板页面内容。

ThinkPHP 6和ThinkPHP 5

ThinkPHP 6和ThinkPHP 5相比,有以下几个主要的变化和改进:

  1. 更好的性能:ThinkPHP 6采用了更加高效的底层框架,具有更好的性能和更高的并发能力。同时,ThinkPHP 6还采用了协程技术,可以更加高效地处理大量的请求。
  2. 更加简洁的代码:ThinkPHP 6引入了更加简洁的语法,可以让开发者更加轻松地编写代码。同时,ThinkPHP 6还支持更加优雅的链式操作,可以让代码更加简洁易读。
  3. 更加灵活的路由:ThinkPHP 6的路由系统更加灵活,可以支持更加丰富的路由规则和参数配置。同时,ThinkPHP 6还支持自动路由,可以让开发者更加方便地进行路由配置。
  4. 更加方便的模板引擎:ThinkPHP 6采用了更加方便的模板引擎,可以让开发者更加轻松地编写模板。同时,ThinkPHP 6还支持模板布局和模板继承,可以让开发者更加方便地进行模板设计。
  5. 更加完善的文档:ThinkPHP 6的文档更加完善,包含了更加详细的API文档和使用说明,可以让开发者更加容易上手和使用。

总之,ThinkPHP 6相比ThinkPHP 5有了很多的改进和优化,可以让开发者更加高效地进行开发。同时,ThinkPHP 6还保持了ThinkPHP 5的优点,如优秀的扩展性和丰富的功能模块,可以满足各种不同的业务需求。

对比一下springBoot
MVC (SpringMVC)OM (mybatis)前面页面框架(Thymeleaf)
在这里插入图片描述
其实不管是GIT还是GITEE,上面不能运行的项目真的很多。并不是开源的项目你就都能跑得起来。

phpStudy 设置

网站目录,不能有中文或空格,就乖乖的用C语言能识别的变量名

PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第3张图片

导数据库

打开mysql-front 或navicat
注意:数据库名:jiaoda超级用户:root 密码:123456
运行本例附件即可。最后导入数据库成功的截图如下:
PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第4张图片

因为我把原来的库转换了,所以当然还是像以前的一样简单了。

展示页面

页面太简单了。本来想加个相册一类的软件加工一下,然后发现电脑上没有。来个美图秀秀好了,原来的太丑了。不过好象是学生的作业都有这种趋势。

PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第5张图片
PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第6张图片
PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第7张图片

PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第8张图片

PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第9张图片
PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第10张图片
PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第11张图片

数据库表结构

PHP-界面漂亮的教学资源全站的毕业设计--【白嫖项目】_第12张图片

项目目录如图:

代码部分:

连数据库



$db_username="root"; //连接数据库的用户名
$db_password="123456"; //连接数据库的密码
$db_database="jiaoda"; //数据库名
$db_hostname="localhost"; //服务器地址

class dbClass{ //开始数据库类
var $username;
var $password;
var $database;
var $hostname;
var $result;

function dbClass($username,$password,$database,$hostname="localhost"){
$this->username=$username;
$this->password=$password;
$this->database=$database;
$this->hostname=$hostname;
}
function connect(){ //这个函数用于连接数据库
$this->link=mysql_connect($this->hostname,$this->username,$this->password) or die("Sorry,can not connect to database");
return $this->link;
}


function select(){ //这个函数用于选择数据库
 mysql_query("set names 'gb2312'");//这就是指定数据库字符集,一般放在连接数据库后面就系了
mysql_select_db($this->database,$this->link);
}

function query($sql){ //这个函数用于送出查询语句并返回结果,常用。
if($this->result=mysql_query($sql,$this->link))
{
 mysql_query("set names 'gb2312'");//这就是指定数据库字符集,一般放在连接数据库后面就系了
 return $this->result;
}
else {
//这里是显示SQL语句的错误信息,主要是设计阶段用于提示。正式运行阶段可将下面这句注释掉。
//echo "SQL语句错误: $sql 

错误信息: ".mysql_error();
return false; } } /*   以下函数用于从结果取回数组,一般与 while()循环、$db->query($sql) 配合使用,例如: $result=$db->query("select * from xzy_teachfl order by tpx"); while($row=$db->getarray($result)){ echo "$row[id] "; } */ function getarray($result){ mysql_query("set names 'gb2312'");//这就是指定数据库字符集,一般放在连接数据库后面就系了 return @mysql_fetch_array($result); } /*   以下函数用于取得SQL查询的第一行,一般用于查询符合条件的行是否存在,例如:   用户从表单提交的用户名$username、密码$password是否在用户表“user”中,并返回其相应的数组: if($user=$db->getfirst("select * from user where username='$username' and password='$password' ")) echo "欢迎 $username ,您的ID是 $user[id] 。"; else echo "用户名或密码错误!"; */ function getfirst($sql){ mysql_query("set names 'gb2312'");//这就是指定数据库字符集,一般放在连接数据库后面就系了 return @mysql_fetch_array($this->query($sql)); } /*   以下函数返回符合查询条件的总行数,例如用于分页的计算等要用到,例如: $totlerows=$db->getcount("select * from mytable"); echo "共有 $totlerows 条信息。"; */ function getcount($sql){ return @mysql_num_rows($this->query($sql)); } /*   以下函数用于更新数据库,例如用户更改密码: $db->update("update user set password='$new_password' where userid='$userid' "); */ function update($sql){ return $this->query($sql); } /*   以下函数用于向数据库插入一行,例如添加一个用户: $db->insert("insert into user (userid,username,password) values (null,'$username','$password')"); */ function insert($sql){ return $this->query($sql); } //$db->del("delete from admin where user='".$user."'"); function del($sql){ return $this->query($sql); } function getid(){ //这个函数用于取得刚插入行的id return mysql_insert_id(); } } /*   主要函数就是这些,如果你自己有另外的需要,也可以自己添加上去。   因为凡使用该类的都必须连接数据库,下面就连接并选择好数据库吧: */ $db=new dbClass("$db_username","$db_password","$db_database","$db_hostname"); $db->connect(); $db->select(); ?> ?>

登陆注册

 
include('./inc/site.php');
include('./inc/db_class.php');
include('./inc/function.php');

$username = SafeHtml($_GET['username']);
if(empty($username))
{
	Error("会员名或密码为空!","reg.php");
}
if($user=$db->getfirst("select * from `user` where username='".$username."'"))
echo "$username 此用户名已经被注册!
请尝试使用其他用户名"
; else echo "$username 此用户名可以注册!"; exit; ?>
<?php 
include('./inc/site.php');
include('./inc/db_class.php');
include('./inc/function.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>会员注册_课程网站</title>
<meta name="keywords" content="课程网站" />
<meta name="description" content="课程网站" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.STYLE2 {font-size: 14px}
.STYLE3 {color: #FF0000}
-->
</style>
<script language="javascript">
function CheckName(gotoURL) {
   var ssn=document.all.username.value.toLowerCase();
	   var open_url = gotoURL + "?username=" + ssn;
	   window.open(open_url,'','status=0,directories=0,resizable=0,toolbar=0,location=0,scrollbars=0,width=150,height=80');
}
</script>
</head>

<body>
<?php
include('header.php');
if($_GET['act']== "")
{
?>
<table width="776" border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top:6px;">
  <tr>
    <td><img src="images/body_top.gif" width="776" height="7" /></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF"><table width="100%" height="560" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td height="560" valign="top" align="center"><table width="99%" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td height="29" background="images/inner-img02.gif"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="font">
              <tr>
                <td width="40"><div align="center"><img src="images/inner-img3.gif" width="20" height="20" /></div></td>
                <td align="left">您的当前位置:<a href="index.php">首页</a> &gt;&gt; <a href="reg.php">会员注册</a></td>
              </tr>
            </table></td>
          </tr>
        </table>
		<table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td height="28"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="menu">
                    <tr>
                      <td width="25"><div align="center"><img src="images/inner-img4.gif" width="15" height="15" /></div></td>
                      <td width="130" align="left"><span class="STYLE2">注册新会员</span></td>
                      <td style="padding-right:18px;">&nbsp;</td>
                    </tr>
                  </table></td>
                </tr>
                <tr>
                  <td height="257"><table width="100%" height="257" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td valign="top" class="font" style="padding:8px 8px 8px 8px;" align="center">
					  <form action="reg.php?act=save" method="post" name="form1" onSubmit="return Validator.Validate(this,2)">
					  <table width="90%" border="0" cellspacing="2" cellpadding="0" bgcolor="#fdeacc">
                        <tr>
                          <td colspan="2" align="left"><strong>* 填写资料</strong></td>
                          </tr>
                        <tr>
                          <td width="39%" align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>用户名:</strong><br />
长度限制为412字节,并以字母开头.</td>
                          <td width="61%" align="left" bgcolor="#ffffff" style="padding:0px 8px;">
                            <input type="text" name="username" size="20" maxlength="12" dataType="Username" msg="用户名不符合规定" />
                            <span class="STYLE3">*</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:CheckName('checkname.php')">检测用户名是否可用</a></td>
                        </tr>
                        <tr>
                          <td align="left" valign="top" bgcolor="#ffffff" style="padding:0px 8px;"><strong>密码(至少5)</strong><br />请输入密码,<br />
请不要使用任何类似 '*'' 'HTML 字符</td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="password" name="userpass" size="20" maxlength="20" dataType="LimitB" msg="密码不符合安全规则" min="5" max="20" />
                            <span class="STYLE3">*</span></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>确认密码:</strong><br />请再输一遍确认</td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="password" name="cuserpass" size="20" maxlength="20" dataType="Repeat" to="userpass" msg="两次输入的密码不一致" />
                            <span class="STYLE3">*</span></td>
                        </tr>
						<tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>密码问题:</strong><br />当您忘记密码时可由此找回密码。<br />长度限制为620字节</td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="question" size="20" maxlength="20" dataType="Limit" msg="密码问题不符合规则" min="6" max="20" />
                            <span class="STYLE3">*</span></td>
                        </tr>
						<tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>问题答案:</strong><br />当您忘记密码时可由此找回密码。<br />长度限制为620字节</td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="answer" size="20" maxlength="20" dataType="Limit" msg="问题答案不符合规则" min="6" max="20" />
                            <span class="STYLE3">*</span></td>
                        </tr>
						<tr>
                          <td width="39%" align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>真实姓名:</strong></td>
                          <td width="61%" align="left" bgcolor="#ffffff" style="padding:0px 8px;">
                            <input type="text" name="truename" size="20" maxlength="20" dataType="Chinese" msg="姓名只允许中文" />
                            <span class="STYLE3">*</span></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>出生年月:</strong><br />如:19000101</td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="birth" size="20" maxlength="15" /></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>照片:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input name="photo" size="30" maxlength="200" type="text" /><br /><iframe frameborder="0" width="290" height="26" scrolling="No" src="upload_pic.htm"></iframe></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>所在单位:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="com" size="20" maxlength="50" /></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>职务:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="postion" size="20" maxlength="20" /></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>单位简介:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="intro" size="20" maxlength="200" /></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>通讯地址及邮编:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="address" size="20" maxlength="100" />&nbsp;&nbsp;<input type="text" name="zip" size="6" maxlength="6" require="false" dataType="Zip" msg="邮编不正确" /></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>联系电话:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="tel" size="20" maxlength="20" require="false" dataType="Phone" msg="电话号码不正确" /></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>传真:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="tax" size="20" maxlength="20" require="false" dataType="Phone" msg="传真号码不正确" /></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>手机:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="mobile" size="20" maxlength="12" require="false" dataType="Mobile" msg="手机号码不正确" /></td>
                        </tr>
                        <tr>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><strong>E-mail:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="email" size="20" maxlength="30" require="false" dataType="Email" msg="信箱格式不正确" /></td>
                        </tr>
                        <tr>
                          <td align="left" valign="top" bgcolor="#ffffff" style="padding:0px 8px;"><strong>与交通大学相关教育经历:</strong><br />毕业院系,所在专业,所在班级,毕业时间</td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><label>
                            <textarea name="experience" cols="40" rows="10" onpropertychange="if(value.length>255)value=value.substr(0,255)"></textarea>
                          </label></td>
                        </tr>
                        <tr>
                          <td align="left" valign="top" bgcolor="#ffffff" style="padding:0px 8px;"><strong>个人主要工作经历:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><textarea name="job" cols="40" rows="10" onpropertychange="if(value.length>255)value=value.substr(0,255)"></textarea></td>
                        </tr>
                        <tr>
                          <td align="left" valign="top" bgcolor="#ffffff" style="padding:0px 8px;"><strong>个人兴趣爱好:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input type="text" name="hoby" size="40" maxlength="100" /></td>
                        </tr>
                        <tr>
                          <td align="left" valign="top" bgcolor="#ffffff" style="padding:0px 8px;"><strong>对交大会的建议和期望:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><textarea name="expect" cols="40" rows="10" onpropertychange="if(value.length>255)value=value.substr(0,255)"></textarea></td>
                        </tr>
                        <tr>
                          <td align="left" valign="top" bgcolor="#ffffff" style="padding:0px 8px;"><strong>希望为交大校友会提供的服务:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><textarea name="hope" cols="40" rows="10" onpropertychange="if(value.length>255)value=value.substr(0,255)"></textarea></td>
                        </tr>
                        <tr>
                          <td align="left" valign="top" bgcolor="#ffffff" style="padding:0px 8px;"><strong>简历:</strong></td>
                          <td align="left" bgcolor="#ffffff" style="padding:0px 8px;"><input name="jianli" size="30" maxlength="200" type="text" /><br /><iframe frameborder="0" width="290" height="26" scrolling="No" src="upload_soft.htm"></iframe></td>
                        </tr>
                        <tr>
                          <td colspan="2" align="center" bgcolor="#ffffff">
                            <input type="submit" name="Submit" value="提交" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            <input type="reset" name="Submit2" value="取消" />
                          </td>
                          </tr>
                      </table>
					  </form></td>
                    </tr>
                  </table></td>
                </tr>
              </table></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td><img src="images/body_bottom.gif" width="776" height="7" /></td>
  </tr>
</table>
<script>
  /*************************************************
	Validator v1.05
	code by 范德彪
	[email protected]
*************************************************/
 Validator = {
	Require : /.+/,
	Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
	Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/,
	Mobile : /^((\(\d{2,3}\))|(\d{3}\-))?((13\d{9})|(15\d{9}))$/,
	Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
	IdCard : "this.IsIdCard(value)",
	Currency : /^\d+(\.\d+)?$/,
	Number : /^\d+$/,
	Zip : /^[1-9]\d{5}$/,
	QQ : /^[1-9]\d{4,8}$/,
	Integer : /^[-\+]?\d+$/,
	Double : /^[-\+]?\d+(\.\d+)?$/,
	English : /^[A-Za-z]+$/,
	Chinese :  /^[\u0391-\uFFE5]+$/,
	Username : /^[a-z]\w{3,}$/i,
	UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/,
	IsSafe : function(str){return !this.UnSafe.test(str);},
	SafeString : "this.IsSafe(value)",
	Filter : "this.DoFilter(value, getAttribute('accept'))",
	Limit : "this.limit(value.length,getAttribute('min'),  getAttribute('max'))",
	LimitB : "this.limit(this.LenB(value), getAttribute('min'), getAttribute('max'))",
	Date : "this.IsDate(value, getAttribute('min'), getAttribute('format'))",
	Repeat : "value == document.getElementsByName(getAttribute('to'))[0].value",
	Range : "getAttribute('min') < (value|0) && (value|0) < getAttribute('max')",
	Compare : "this.compare(value,getAttribute('operator'),getAttribute('to'))",
	Custom : "this.Exec(value, getAttribute('regexp'))",
	Group : "this.MustChecked(getAttribute('name'), getAttribute('min'), getAttribute('max'))",
	ErrorItem : [document.forms[0]],
	ErrorMessage : ["以下原因导致提交失败:\t\t\t\t"],
	Validate : function(theForm, mode){
		var obj = theForm || event.srcElement;
		var count = obj.elements.length;
		this.ErrorMessage.length = 1;
		this.ErrorItem.length = 1;
		this.ErrorItem[0] = obj;
		for(var i=0;i<count;i++){
			with(obj.elements[i]){
				var _dataType = getAttribute("dataType");
				if(typeof(_dataType) == "object" || typeof(this[_dataType]) == "undefined")  continue;
				this.ClearState(obj.elements[i]);
				if(getAttribute("require") == "false" && value == "") continue;
				switch(_dataType){
					case "IdCard" :
					case "Date" :
					case "Repeat" :
					case "Range" :
					case "Compare" :
					case "Custom" :
					case "Group" : 
					case "Limit" :
					case "LimitB" :
					case "SafeString" :
					case "Filter" :
						if(!eval(this[_dataType]))	{
							this.AddError(i, getAttribute("msg"));
						}
						break;
					default :
						if(!this[_dataType].test(value)){
							this.AddError(i, getAttribute("msg"));
						}
						break;
				}
			}
		}
		if(this.ErrorMessage.length > 1){
			mode = mode || 1;
			var errCount = this.ErrorItem.length;
			switch(mode){
			case 2 :
				for(var i=1;i<errCount;i++)
					this.ErrorItem[i].style.color = "red";
			case 1 :
				alert(this.ErrorMessage.join("\n"));
				this.ErrorItem[1].focus();
				break;
			case 3 :
				for(var i=1;i<errCount;i++){
				try{
					var span = document.createElement("SPAN");
					span.id = "__ErrorMessagePanel";
					span.style.color = "red";
					this.ErrorItem[i].parentNode.appendChild(span);
					span.innerHTML = this.ErrorMessage[i].replace(/\d+:/,"*");
					}
					catch(e){alert(e.description);}
				}
				this.ErrorItem[1].focus();
				break;
			default :
				alert(this.ErrorMessage.join("\n"));
				break;
			}
			return false;
		}
		return true;
	},
	limit : function(len,min, max){
		min = min || 0;
		max = max || Number.MAX_VALUE;
		return min <= len && len <= max;
	},
	LenB : function(str){
		return str.replace(/[^\x00-\xff]/g,"**").length;
	},
	ClearState : function(elem){
		with(elem){
			if(style.color == "red")
				style.color = "";
			var lastNode = parentNode.childNodes[parentNode.childNodes.length-1];
			if(lastNode.id == "__ErrorMessagePanel")
				parentNode.removeChild(lastNode);
		}
	},
	AddError : function(index, str){
		this.ErrorItem[this.ErrorItem.length] = this.ErrorItem[0].elements[index];
		this.ErrorMessage[this.ErrorMessage.length] = this.ErrorMessage.length + ":" + str;
	},
	Exec : function(op, reg){
		return new RegExp(reg,"g").test(op);
	},
	compare : function(op1,operator,op2){
		switch (operator) {
			case "NotEqual":
				return (op1 != op2);
			case "GreaterThan":
				return (op1 > op2);
			case "GreaterThanEqual":
				return (op1 >= op2);
			case "LessThan":
				return (op1 < op2);
			case "LessThanEqual":
				return (op1 <= op2);
			default:
				return (op1 == op2);            
		}
	},
	MustChecked : function(name, min, max){
		var groups = document.getElementsByName(name);
		var hasChecked = 0;
		min = min || 1;
		max = max || groups.length;
		for(var i=groups.length-1;i>=0;i--)
			if(groups[i].checked) hasChecked++;
		return min <= hasChecked && hasChecked <= max;
	},
	DoFilter : function(input, filter){
return new RegExp("^.+\.(?=EXT)(EXT)$".replace(/EXT/g, filter.split(/\s*,\s*/).join("|")), "gi").test(input);
	},
	IsIdCard : function(number){
		var date, Ai;
		var verify = "10x98765432";
		var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
		var area = ['','','','','','','','','','','','北京','天津','河北','山西','内蒙古','','','','','','辽宁','吉林','黑龙江','','','','','','','','上海','江苏','浙江','安微','福建','江西','山东','','','','河南','湖北','湖南','广东','广西','海南','','','','重庆','四川','贵州','云南','西藏','','','','','','','陕西','甘肃','青海','宁夏','新疆','','','','','','台湾','','','','','','','','','','香港','澳门','','','','','','','','','国外'];
		var re = number.match(/^(\d{2})\d{4}(((\d{2})(\d{2})(\d{2})(\d{3}))|((\d{4})(\d{2})(\d{2})(\d{3}[x\d])))$/i);
		if(re == null) return false;
		if(re[1] >= area.length || area[re[1]] == "") return false;
		if(re[2].length == 12){
			Ai = number.substr(0, 17);
			date = [re[9], re[10], re[11]].join("-");
		}
		else{
			Ai = number.substr(0, 6) + "19" + number.substr(6);
			date = ["19" + re[4], re[5], re[6]].join("-");
		}
		if(!this.IsDate(date, "ymd")) return false;
		var sum = 0;
		for(var i = 0;i<=16;i++){
			sum += Ai.charAt(i) * Wi[i];
		}
		Ai +=  verify.charAt(sum%11);
		return (number.length ==15 || number.length == 18 && number == Ai);
	},
	IsDate : function(op, formatString){
		formatString = formatString || "ymd";
		var m, year, month, day;
		switch(formatString){
			case "ymd" :
				m = op.match(new RegExp("^((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2})$"));
				if(m == null ) return false;
				day = m[6];
				month = m[5]*1;
				year =  (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
				break;
			case "dmy" :
				m = op.match(new RegExp("^(\\d{1,2})([-./])(\\d{1,2})\\2((\\d{4})|(\\d{2}))$"));
				if(m == null ) return false;
				day = m[1];
				month = m[3]*1;
				year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10));
				break;
			default :
				break;
		}
		if(!parseInt(month)) return false;
		month = month==0 ?12:month;
		var date = new Date(year, month-1, day);
        return (typeof(date) == "object" && year == date.getFullYear() && month == (date.getMonth()+1) && day == date.getDate());
		function GetFullYear(y){return ((y<30 ? "20" : "19") + y)|0;}
	}
 }
</script>
<?php
}
elseif($_GET['act']== "save")
{
	$username = SafeHtml($_POST['username']);
	$userpass = SafeHtml($_POST['userpass']);
	$cuserpass = SafeHtml($_POST['cuserpass']);
	if(empty($username) || empty($userpass) || empty($cuserpass))
	{
		Error("会员名或密码为空!","reg.php");
	}
	#[判断两次输入的密码是否一致]
	if($userpass != $cuserpass)
	{
		Error("两次输入的密码不一致!","reg.php");
	}
	$email = SafeHtml($_POST['email']);
	if(!empty($email)) {
	if(!ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$email))
	{
		Error("邮箱地址不正确!","reg.php");
	}
	}
	$question = SafeHtml($_POST['question']);
	$answer = SafeHtml($_POST['answer']);
    if(empty($question) || empty($answer))
	{
		Error("密码问题或问题答案为空!","reg.php");
	}
	
    $truename = SafeHtml($_POST['truename']);
	if(empty($truename)) 
	{
	  Error("真实姓名不能为空!","reg.php");
	}
	$birth = SafeHtml($_POST['birth']);
    $photo = SafeHtml($_POST['photo']);
    $com = SafeHtml($_POST['com']);
$postion = SafeHtml($_POST['postion']);
$intro = SafeHtml($_POST['intro']);
$address = SafeHtml($_POST['address']);
$zip = SafeHtml($_POST['zip']);
$tel = SafeHtml($_POST['tel']);
$tax = SafeHtml($_POST['tax']);
$mobile = SafeHtml($_POST['mobile']);
$experience = nl2br($_POST['experience']);
$job = nl2br($_POST['job']);
$hoby = SafeHtml($_POST['hoby']);
$expect = nl2br($_POST['expect']);
$hope = nl2br($_POST['hope']);
$jianli = SafeHtml($_POST['jianli']);
$islock=1;
	$check_user = $db->query("SELECT * FROM `user` where `username`='".$username."'");
	$row=$db->getarray($check_user);
	if($row)
	{
		Error("用户名已经存在!","reg.php");
		exit;
	}
	$db->insert("INSERT INTO `user` (`username`,`userpass`,`question`,`answer`,`email`,`truename`,`birth`,`photo`,`com`,`postion`,`intro`,`address`,`zip`,`tel`,`tax`,`mobile`,`experience`,`job`,`hoby`,`expect`,`hope`,`jianli`,`islock`) VALUES('".$username."','".md5($userpass)."','".$question."','".$answer."','".$email."','".$truename."','".$birth."','".$photo."','".$com."','".$postion."','".$intro."','".$address."','".$zip."','".$tel."','".$tax."','".$mobile."','".$experience."','".$job."','".$hoby."','".$expect."','".$hope."','".$jianli."','".$islock."')");
	$_SESSION['username']=$row['username'];
	$_SESSION["super"] =0;
	Error("注册成功!请等待管理员验证","index.php");
    exit;
}
include('footer.php');
?>
</body>
</html>

主页


<?php 
include('inc/site.php');
include('inc/db_class.php');
include('inc/function.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>课程网站</title>
<meta name="keywords" content="课程网站" />
<meta name="description" content="课程网站" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?php
include('header.php');
?>
<table width="776" border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top:6px;">
  <tr>
    <td><img src="images/body_top.gif" width="776" height="7" /></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF"><table width="100%" height="560" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td height="560" valign="top"><div align="center">
          <table width="195" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr>
              <td width="195" height="179" valign="top">
<table width="195" border="0" cellspacing="0" cellpadding="0" background="images/member.gif">
  <tr>
    <td height="40">&nbsp;</td>
  </tr>
  <tr>
    <td><iframe id=user src="cp.php" frameBorder="0" width="100%" scrolling="no" height="140" allowTransparency="true"></iframe>
			  </td>
  </tr>
</table></td>
            </tr>
            <tr>
              <td height="3" valign="top"></td>
            </tr>
            <tr>
              <td height="480" valign="top" background="images/left_bg.gif"><table width="185" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr>
                  <td height="26" align="left" class="menu" style="padding-left:20px;">教学大纲</td>
                </tr>
                <tr class="font">
                  <td align="left" valign="top">
<?php  
if($result=$db->getfirst("select * from inheritance where istop=1 order by id desc"))
{
$topid=$result[id];
if(empty($result[photo]))
{
echo .$result[id].">".$result[title]."
"
; } else { ?> <a href="showinheritance.php?id=$result[id]?>"><img src="images/inner-img1.gif" width="195" height="100" border="0" alt="$result[title]?>" /></a> <?php } } if(empty($topid)) { $result=$db->query("select * from inheritance order by id desc limit 0,5"); } else { $result=$db->query("select * from inheritance where id <>$topid order by id desc limit 0,5"); } while($row=$db->getarray($result)){ ?> ·<a href="showinheritance.php?id=$row[id]?>"><?=$row[title]?></a><br /> <?php } ?> </td> </tr> <tr> <td height="10"></td> </tr> <tr> <td><?php include('inc/link.php'); ?></td> </tr> </table></td> </tr> </table> </div></td> <td width="570" valign="top"><table width="570" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="570" height="112"><div align="right"> <img src="./images/head_back.png"> </div></td> </tr> </table> <table width="100%" border="0" cellspacing="3" cellpadding="0"> <tr> <td><table width="288" height="233" border="0" cellpadding="0" cellspacing="0"> <tr> <td valign="top" background="images/bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="26"><table width="90%" height="26" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="60" class="menu"><div align="center">教师课件</div></td> <td class="font"><div align="right"><a href="active.php">更多&gt;&gt;</a></div></td> </tr> </table></td> </tr> <tr> <td height="207" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="8" class="font"> <tr> <td><?php if($result=$db->getfirst("select * from active where istop=1 order by id desc")) { $topid=$result[id]; if(empty($result[photo])) { echo .$result[id].">".$result[title]."
"
; } else { ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="94"><img src="images/inner-img6.gif" width="101" height="68" /></td> <td style="padding-left:8px;"><span style="font-size: 14px;font-weight: bold;"><a href="showactive.php?id=$result[id]?>"> <?=CutString($result['title'],18)?> </a></span><br /> <a href="showactive.php?id=$result[id]?>" style="font-size: 14px;font-weight: bold;"><font color="#ff9933">[详细查看]</font></a></td> </tr> </table> <?php } } if(empty($topid)) { $result=$db->query("select * from active order by id desc limit 0,5"); } else { $result=$db->query("select * from active where id <>$topid order by id desc limit 0,5"); } while($row=$db->getarray($result)){ ?> ·<a href="showactive.php?id=$row[id]?>"><?=CutString($row[title],32)?></a><br /> <?php } ?> </td> </tr> </table></td> </tr> </table></td> </tr> </table></td> <td><table width="278" height="233" border="0" cellpadding="0" cellspacing="0"> <tr> <td background="images/bg2.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="26"><table width="90%" height="26" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="60" class="menu"><div align="center">课程公告</div></td> <td class="font"><div align="right"><a href="notice.php">更多&gt;&gt;</a></div></td> </tr> </table></td> </tr> <tr> <td height="207" valign="top" ><table width="100%" border="0" cellpadding="0" cellspacing="8" class="font"> <tr> <td> <?php $result=$db->query("select nid,title from notice order by nid desc limit 0,8"); //mysql_query("set names 'gb2312'");//这就是指定数据库字符集,一般放在连接数据库后面就系了 while($row=$db->getarray($result)){ ?> ·<a href="shownotice.php?id=$row[nid]; ?>"><?=CutString($row[title],32)?></a><br /> <?php } ?></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><table width="288" height="233" border="0" cellpadding="0" cellspacing="0"> <tr> <td valign="top" background="images/bg.gif"><table width="100%" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td height="26"><table width="90%" height="26" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="60" class="menu"><div align="center">课程资源</div></td> <td class="font"><div align="right"><a href="home.php">更多&gt;&gt;</a></div></td> </tr> </table></td> </tr> <tr> <td height="207" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="8" class="font"> <tr> <td> <?php $result=$db->getfirst("select * from topic order by id desc"); //mysql_query("set names 'gb2312'");//这就是指定数据库字符集,一般放在连接数据库后面就系了 $topid=$result[id]; ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="94"><img src="images/01.gif" width="94" height="58" /></td> <td style="padding-left:8px;"><span style="font-size: 14px;font-weight: bold;"><a href="view.php?id=$topid?>"><?=CutString($result['title'],18)?></a></span><br /> <a href="view.php?id=$topid?>" style="font-size: 14px;font-weight: bold;"><font color="#ff9933">[详细查看]</font></a></td> </tr> </table></td> </tr> <tr> <td> <?php $result=$db->query("select id,title from topic where id <>$topid order by id desc limit 0,5"); //mysql_query("set names 'gb2312'");//这就是指定数据库字符集,一般放在连接数据库后面就系了 while($row=$db->getarray($result)){ echo .$row[id]."\">".CutString($row[title],32)."
"
; } ?></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> <td><table width="278" height="233" border="0" cellpadding="0" cellspacing="0"> <tr> <td background="images/bg2.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="26"><table width="90%" height="26" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="60" class="menu"><div align="center">成果展示 </div></td> <td class="font"><div align="right"><a href="flavor.php">更多&gt;&gt;</a></div></td> </tr> </table></td> </tr> <tr> <td height="207" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="8" class="font"> <tr> <td> <?php if($result=$db->getfirst("select * from flavor where istop=1 order by id desc")) { $topid=$result[id]; if(empty($result[photo])) { echo .$result[id].">".$result[title]."
"
; } else { ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="94"><img src="images/img01.gif" width="121" height="77" /></td> <td style="padding-left:8px;"><span style="font-size: 14px;font-weight: bold;"><a href="showflavor.php?id=$result[id]; ?>"><?=CutString($result['title'],18)?></a></span><br /> <a href="showflavor.php?id=$result[id]; ?>" style="font-size: 14px;font-weight: bold;"><font color="#ff9933">[详细查看]</font></a></td> </tr> </table> <?php } } if(empty($topid)) { $result=$db->query("select * from flavor order by id desc limit 0,5"); } else { $result=$db->query("select * from flavor where id <>$topid order by id desc limit 0,5"); } while($row=$db->getarray($result)){ ?> ·<a href="showflavor.php?id=$row[id]?>"><?=CutString($row[title],32)?></a><br /> <?php } ?> </td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><img src="images/body_bottom.gif" width="776" height="7" /></td> </tr> </table> <?php include('footer.php'); ?> </body> </html>

其它的页面自己下载资源包好了

参考

基于jsp的塞北村镇旅游网站的设计与实现–【毕业论文】
https://blog.csdn.net/dearmite/article/details/131962993

配套资源

PHP-界面漂亮的教学资源全站的毕业设计–【白嫖项目】
https://download.csdn.net/download/dearmite/88159506

作业:

把项目搭建起来,完成其它自己想到的功能。学PHP就是要任性,随心所欲。
只有魔法才能打败魔法!
在这里插入图片描述

你可能感兴趣的:(毕设与论文,#,PHP,php,课程设计,毕业设计)