PHP综合应用实验报告
班级:10网工三班学生姓名:谢昊天学号:1215134046
实验目的和要求:
1、使学生理解PHP网站开发流程;
2、使学生能够把平时所学的知识进行统一的整合;
3、使学生理解一个完整的网站应用系统的构成。
实验内容:
参看教材的第10章,按照教材上的要求完成一个简单的新闻发布系统。
整个系统要具备以下内容:
1、数据库设计
要出具整个系统的E-R图;
2、系统模块的设计
要有用户管理、新闻发布、文件上传、新闻编辑、新闻查询以及发表评论等功能。
3、其他要求
要使用Cookie或Session会话技术,要使用网站分页技术。
实验步骤与调试过程:
1、创建数据库,创建4个表分别为:news(新闻信息表),review(新闻评论信息表),category(新闻类别表),login(登陆信息表)。
2、为每一个表添加相关的字段,完成各个表之间的约束性的创建。
其中新闻信息表的创建包括这几个字段:每个新闻的ID号,新闻标题title,新闻的内容content,附注attachment。
新闻评论表包括:评论ID;评论内容;是否被审查;新闻类别表包括:类别id;类别名;登陆表包括:登陆ID;登陆名;登陆密码;登陆身份。
3、完成系统功能需求、模块等分析。
在系统功能模块的实现中,为实现添加、取出、修改、删除新闻的各种信息都必须先连接主机,选择数据库,向数据库发出请求需要使用三个函数分别是:mysql_pconnect( ) (连接主机),mysql_select_db( ) (选择数据库),mysql_query() (向数据库发出请求)。
4、为了完成对数据库中数据进行相关的添加、删除等操作需要使用insert (向
数据库插入数据)、delete (删除数据表中的数据)、select (检索数据)、update (更新数据)。
5、显示新闻,在显示新闻的首页上显示新闻的标题,使用循环输出所有的新闻的标题。
要查看具体的内容时,点击新闻的标题的超链接进入一个新的页面即可查看这条新闻。
6、完成用户前台的登陆界面设计,普通用户要评论必须先注册,注册之后登录方可进行留言评论。
7、在程序中使用cookie来存储用户的名字。
8、.建database.php文件,实现mysql服务器的开启与关闭。
init.php文件,负责用户表users中添加管理员。
news_add.php文件为浏览器用户提供输入数据的界面。
file_system.php文件提供上传和下载用的函数。
9、创建所用的脚本文件进行编译测试。
实验结果
1、成功完成系统设计、数据库设计。
2、成功完成数据库及表的创建.。
3、成功完成了系统模块的设计,实现了用户管理、新闻发布、文件上传、新闻编辑、新闻查询以及发表评论等功能。
4、实现了具体的各功能模块,包括数据库的链接,向数据库中添加数据,删除数据、修改数据和更新数据等以及当很多条内容记录时要进行分页的设计。
5、新闻发布成功并能够对页面进行修改。
实验总结:
通过本次试验,我对基于PHP综合应用思想有了进一步的了解,通过动手实现PHP综合应用编程及运行,更加深刻的理解了PHP综合应用的特点。
本次实验是一个B/S(浏览器/服务器)交互式的校园新闻管理系统网站。
系统分为两部分,一是管理员所能操作的部分,二是外界用户所能操作的部分。
在管理员部分中,管理员首先需要将新闻分类,然后再向各类中添加多条新闻信息。
管理员有权对新闻的类别和数量进行增加,查看,修改,删除的操作。
用户部分的功能为,用户可以查看新闻的标题,详细内容并可以发表评论。
评论需要经过管理员查看才可发表,管理员同样也有修改评论的权利。
同时,在实验过程中,同时回顾书本上的理论知识,巩固了我的知识。
通过此次实验,是我对一个完整的网站应用系统的构成有了进一步了解,把平时所学的知识进行了统一的整合,对自己以后的工作积累了经验。
主要算法和程序清单:
<?
if(@$_POST["submit"])
{
if(empty ($_POST["username"]))
die (" 请输入用户名");
//
else
$username = $_POST["username"];
// 记录用户名if(empty ($_POST["password"]))
die (" 请输入密码");
else
$password = $_POST["password"];
$link=mysql_connect("localhost","root","");
$selectdb = mysql_select_db("yayu",$link);
$sql="select id,password,name from users where name='$username'";
$result=mysql_query($sql)or die (mysql_error ());
while($pa = mysql_fetch_assoc($result))
{ // mysql_fetch_assoc() 函数是把返回的数据以数组的方式保存,数组的下标与字段名// 相对应
$pwd = $pa[password];
$userid = $pa[id];
// 检测用户名是否正确
if(!$result)
{
echo " 错误的用户名";
echo "<br><a href='login1.php'> 重新登陆</a>"; mysql_close($link);
exit;
}
// 检测密码是否正确
if($pwd != $password )
{
echo " 亲爱的".$username."<br>";
echo " 密码输入错误";
echo "<br> 请<a href='admin.php'> 重新登陆</a>";
mysql_close($link);
exit;
}
// 如果一切正常,则设置Cookie
setcookie("username",$_POST["username"]);
header("Location:admin.php");
}
if(@$_GET["action"]=="logout")
{
setcookie("username",""); header("Location:index.php"); }
}
?>。