当前位置:文档之家› PHP网页设计报告

PHP网页设计报告

题目:网站设计网站的设计目标本平台利用现在比较广泛的PHP+MYSQL数据库的架构实现的,此系统分为前台管理和后台管理。

前台管理是友好的操作界面,供用户浏览、查询使用。

后台管理是提供给管理员的.设计技术比较合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。

要开发一个网站,首先要选择一个动态网页开发技术。

当前比较流行的动态网页开发技术有ASP、JSP、PHP。

它们的特性比较如表3-1所示。

这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。

不难看出,php的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择php技术作为动态网页的开发技术。

需要完成的一些具体功能:用户管理:能够完成用户基本信息录入的注册和用户基本信息的修改。

管理员管理:能够完成管理员对网站的商品信息管理(商品添加、商品信息修改平台功能模块的设计注册功能流程注册流程示意图如图用户登录流程用户登录,首先要有一个提供用户登录的表单。

首先,用户要有一个用户名和密码。

同时对密码也要求保密,将密码加密后再存入数据库。

登陆流程示意图如图:商品信息表用户信息表登录入口取得用户名和密码将use 存入session 中查询用户是否存在 核对密码是否正确登录成功 是是 否 否商品分类数据库的连接代:<?phperror_reporting(0);session_start();$server="localhost";$username="root";$password="123";$database="shangcheng";$conn=mysql_connect($server,$username,$password) or die("could notconnectmysql");mysql_query("set names GBK");mysql_select_db($database,$conn)or die("could not open database");// mysql_close($conn);$_SESSION['con']=$conn;if(date_default_timezone_get() != "1Asia/Shanghai")date_default_timezone_set("Asia/Shanghai");>用户登陆模块的实现用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,用户首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的操作,如果输入的密码不正确,则不能登录。

主页面图片:主页面提供了用户登陆和注册以及部分商品的展示,用户注册账号后可以登陆进入。

登陆后可以点击信息修改按钮来修改个人注册的信息。

浏览完网页后可以点击注销登陆按钮退出个人登陆。

网页中的商品图片和左侧的商品分类信息是商品链接,点击即可看到该商品的详细信息。

用户注册图片:用户登录注销:登陆具体代码如下图所示:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>User Login</title>echo "<script>document.location.href='index1.php'</script>";} else {echo "<script>document.location.href='index.php'</script>";}}elseecho "用户名或密码不正确<script>document.location.href='login.php'</script>";}>修改用户信息:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>Registering form</title></head><?phpinclude 'config.php';?><body><form name="frmRegister" method="post" action="register_do2.php"><table width="330" border="0" align="center" cellpadding="5" bgcolor=管理登陆添加商品,添加分类:管理员可以通过主页面的“管理进入”进入系统后台进行维护,点击之后,首要的就是进行身份验证,输入正确的帐号,密码之后,方能进入。

管理的主要功能是商品信息管理,主要就是添加新的商品,删除和修改已经添加的商品。

总结经过两个多星期的努力之后,本次课程设计基本完成,作为一个初学者难免有许多考虑不周全的地方,如果没有导师的细心教导,以及同学的支持,想要完成这个设计是难以想象的。

由于是第一次做网站,所以碰到了很多问题,php基本语言的不熟悉就是个很大的难题,难度最大的就是网站界面的设计。

我参考了一些购物网站,然后请同学帮我做了一部分的网页主界面的设计。

在这里首先要感谢我们敬爱的邢老师,尽管课程设计的学时很短,邢老师还是尽其所能给我们讲解更多关于网站设计的知识,让我们步入网站设计的第一步有个良好的开端。

次要感谢我的同学对我无私的帮助,特别是在页面布局方面给了我很大的帮助,是我能顺利的完成设计。

同时我对网站开发也有了很多认识,对php以及mysql的基本使用也有所了解。

附录所有文件截图所有程序代码如下:zy.css/* CSS Document */body{margin:0px;padding:0px;font-family:"宋体";font-size:14px;text-align:center;/*ie*/}a{text-decoration:none; } index.php<?php include 'config.php'; ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml 1-transitional.dtd"><htmlxmlns="/1999/xhtml"> <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><link href="style/zy.css"index1.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><link href="style/zy.css" type="text/css" rel="stylesheet"/><title>我的商城</title></head><?php include 'config.php';?><div class="zy"><div class="ye"><div class="jt"><div class="shou"><table border="0" ><span class="STYLE6">欢迎来商城网!<a href="tuichu.php">注销登录</a></span></table></div><?php include 'top.php '; ?><div class="admin"><ul><li><a href='newproduct.php'> 添加新商品</a></li><br/><li><a href='category.php'> 添加商品分类</a></li></ul></div></div></div></div></body></html>index2.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><link href="style/zy.css" type="text/css" rel="stylesheet"/><title>我的商城</title><?php include 'config.php';?><body><div class="zy"><div class="ye"><div class="jt"><div class="shou"><table border="0" ><span class="STYLE6">欢迎来商城网!<?phpecho $_SESSION['username']?>&nbsp;<a href="index.php">注销登录</a><a href="register2.php">信息修改</a> </span></table></div><?php include 'top.php '; ?><?php include 'left.php'; ?></div></div></div></body></html>top.php<div class="biaoti"><div class="logo"><img src="images/shangcheng.gif" width="200" height="150"/></div> <div class="btyou"></div></div><div class="daohang"><ul><li><a href="index.php">首页</a></li><li><a href="">淘宝</a></li><li><a href="">卓越</a></li></ul></div>left.php<?phpinclude 'config.php';><div class="show"><div class="list">全部商品分类<?php$sql= "select * from category order by category_name";$result= mysql_query($sql);while( $row=mysql_fetch_array($result)){echo "<li><a href='list.php?catid=$row[category_id]'>";echo htmlspecialchars($row[category_name]);echo "</a></li>";}?></div><div class="good"><a target="_blank" href="/p/scj.htm?spm=1.1000386.222017.d15.29efi5&scm=1005.12.1.4509&ad_id=&am_id=130********ac122ab7c&cm_id=&pm_id="><img border="0" src="images/diannao.gif" /></a><a target="_blank" href="/item.htm?spm=141.422070.323306.32.Re6wQe&id=223657 60001"><img border="0" src="images/qiuyi.gif" /></a><a target="_blank" href="/search_product.htm?spm=141.422070.264351.21.Re6wQe&a ctive=1&from=sn_1_cat&area_code=330100&navlog=3&nav=spu-cat&search_conditio n=18&style=g&sort=s&n=40&s=0&cat=50024436&is=cate#J_crumbs"><img border="0" src="images/shouji.gif" /></a></div></div>list.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title></head><body><?php$catid=$_GET['catid'];include 'config.php';$sql="select * from productsinf where category_id=$catid";$result=mysql_query($sql);while( $row=mysql_fetch_array($result)){><?php}></body></html>config.php<?phperror_reporting(0);session_start();$server="localhost";$username="root";$password="123";$database="shangcheng";$conn=mysql_connect($server,$username,$password)or die("could notconnectmysql");mysql_query("set names GBK");mysql_select_db($database,$conn)or die("could not open database");// mysql_close($conn);$_SESSION['con']=$conn;if(date_default_timezone_get() != "1Asia/Shanghai") date_default_timezone_set("Asia/Shanghai");>common.php<?phpfunction checkIllegalWord (){// 定义不允许提交的SQL命令及关键字$words = array();$words[] = " add ";$words[] = " count ";$words[] = " create ";$words[] = " delete ";$words[] = " drop ";$words[] = " from ";$words[] = " grant ";$words[] = " insert ";$words[] = " select ";$words[] = " truncate ";$words[] = " update ";$words[] = " use ";$words[] = "-- ";// 判断提交的数据中是否存在以上关键字, $_REQUEST中含有所有提交数据foreach($_REQUEST as $strGot) {$strGot = strtolower($strGot); // 转为小写foreach($words as $word) {if (strstr($strGot, $word)) {echo "您输入的内容含有非法字符!";exit; // 退出运行}}}// foreach}checkIllegalWord(); // 在本文件被包含时即自动调用>register.php<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>Registering form</title></head><body><form name="frmRegister" method="post" action="register_do.php"><table width="330" border="0" align="center" cellpadding="5" bgcolor= "#eeeeee"> <tr><td width="40%">用户名:</td><td><input name="username" type="text" id="username"> </td></tr><tr><td>密码:</td><td><input name="password" type="password" id="pwd"></td></tr><tr><td>重复密码:</td><td><input name="repeat_password" type="password" id="repeat_pwd"></td> </tr><tr><td>姓名:</td><td><input name="name" type="text" id="name"></td></tr><tr><td>Email:</td><td><input name="email" type="text" id="email"></td></tr><tr><td colspan="2" align="center"><input type="submit" name="submit" value="提交"><input type="reset" name="reset" value="重置"><input name="button" type="button" onClick="location.href='index.php';" value="返回"/></td><td width="51"><label></label></td></tr></table></form></body></html>register_do.php<?php//Session_start();include 'config.php';$UserName=$_POST["username"];//用户名$Password=$_POST["password"];//密码$ConfirmPassword=$_POST["repeat_password"];//确认密码$Email=$_POST["email"];//邮箱$Name=$_POST['name'];//判断用户名函数function Check_username($UserName)//参数为用户注册的用户名{//用户名三个方面检查//是否为空字符串检测长度检测$Max_Strlen_UserName=16;//用户名最大长度$Min_Strlen_UserName=4;//用户名最短长度$UserNameChars="^[A-Z a-z 0-9_-]";//字符串检测的正则表达式$UserNameGood="用户名检测正确";//定义返回的字符串变量if($UserName==""){$UserNameGood="用户名不能为空";return $UserNameGood;}if(!ereg("$UserNameChars",$UserName))//正则表达式匹配检查{$UserNameGood="用户名字符串检测不正确";return $UserNameGood;}if (strlen($UserName)<$Min_Strlen_UserName ||strlen($UserName)>$Max_Strlen_UserName){$UserNameGood="用户名字长度检测不正确";return $UserNameGood;}return $UserNameGood;}//判断密码是否合法函数function Check_Password($Password){//是否为空字符串检测长度检测$Max_Strlen_Password=16;//密码最大长度$Min_Strlen_Password=6;//密码最短长度$PasswordChars="^[A-Za-z0-9_-]";//密码字符串检测正则表达式$PasswordGood="密码检测正确";//定义返回的字符串变量if($Password==""){$PasswordGood="密码不能为空";return $PasswordGood;}if(!ereg("$PasswordChars",$Password)){$PasswordGood="密码字符串检测不正确";return $PasswordGood;}if(strlen($Password)<$Min_Strlen_Password||strlen($Password)>$Max_Strlen_Password){$PasswordGood="密码长度检测不正确";return $PasswordGood;}return $PasswordGood;}//判断邮箱是否合法函数function Check_Email($Email){$EmailChars="^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$";//正则表达式判断是否是合法邮箱地址$EmailGood="邮箱检测正确";if($Email==""){$EmailGood="邮箱不能为空";return $EmailGood;}if(!ereg("$EmailChars",$Email))//正则表达式匹配检查{$EmailGood="邮箱格式不正确";return $EmailGood;}return $EmailGood;}//判断两次密码输入是否一致function Check_ConfirmPassword($Password,$ConfirmPassword){$ConfirmPasswordGood="两次密码输入一致";if($Password<>$ConfirmPassword){$ConfirmPasswordGood="两次密码输入不一致";return $ConfirmPasswordGood;}elsereturn $ConfirmPasswordGood;}//调用函数,检测用户输入的数据$UserNameGood=Check_username($UserName);$PasswordGood=Check_Password($Password);$EmailGood=Check_Email($Email);$ConfirmPasswordGood=Check_ConfirmPassword($Password,$ConfirmPassword);$error=false;//定义变量判断注册数据是否出现错误if($UserNameGood !="用户名检测正确"){$error=true;//改变error 的值表示出现了错误echo $UserNameGood;//输出错误信息echo "<br>";}if($PasswordGood !="密码检测正确"){$error=true;echo $PasswordGood;echo "<br>";}if($EmailGood !="邮箱检测正确"){$error=true;echo $EmailGood;echo "<br>";}if ($ConfirmPasswordGood !="两次密码输入一致"){$error=true;echo $ConfirmPasswordGood;echo "<br>";}//判断数据库中用户名和email 是否已经存在$query="select * from UserInf where f_UserName='$UserName' or f_email='$Email'";$result=mysql_query($query);$row=mysql_fetch_array($result);if ($row){if ($row["f_UserName"]==$UserName){$error=true;echo "用户名已存在<br>";}if ($row["f_email"]==$Email){$error=true;echo "用户邮箱已经注册<br>";}mysql_free_result($result);echo "<a href=register.php> 返回</a>";}mysql_free_result($result);//如果数据检测都合法,则将用户资料写进数据库表if ($error==false) //$error==false 表示没有错误{//if(date_default_timezone_get() != "1Asia/Shanghai") date_default_timezone_set("Asia/Shanghai");$IP=$_SERVER["REMOTE_ADDR"];$Datetime=date("Y-m-d G:i");//获取注册时间,也就是数据写入到用户表的时间$query1="insert into UserInf(f_UserName,f_password,f_name,f_email,f_class,f_logintimes,f_lasttime,f_loginI P)values('$UserName','$Password','$Name','$Email','3','$Datetime','$Datetime','$IP')";$result1=mysql_query($query1);$num=mysql_affected_rows( $_SESSION['con']);echo $num;if($num>0)echo "<script>document.location.href='login.php'</script>";else{echo "输入错误!";echo "<a href='register.php'> 返回注册页面</a>";}}>register2.php<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>Registering form</title></head><?phpinclude 'config.php';?><body><form name="frmRegister" method="post" action="register_do2.php"> <table width="330" border="0" align="center" cellpadding="5" bgcolor= "#eeeeee"><tr><td width="40%">用户名:</td><td><?phpecho $_SESSION['username']?></td></tr><tr><td>密码:</td><td><input name="password" type="password" id="pwd"></td></tr><tr><td>重复密码:</td><td><input name="repeat_password" type="password" id="repeat_pwd"></td></tr><tr><td>姓名:</td><td><input name="name" type="text" id="name"></td></tr><tr><td>Email:</td><td><input name="email" type="text" id="email"></td></tr><tr><td colspan="2" align="center"><input type="submit" name="submit" value="提交"><input type="reset" name="reset" value="重置"><input name="button" type="button" onClick="location.href = 'index2.php';" value="返回"/></td><td width="51"><label></label></td></tr></table></form></body></html>register_do2.php<?php//Session_start();include 'config.php';$UserName = $_SESSION['username']; //用户名$Password = $_POST["password"]; //密码$ConfirmPassword = $_POST["repeat_password"]; //确认密码$Email = $_POST["email"]; //邮箱$Name=$_POST['name'];//判断用户名函数function Check_username($UserName) {//参数为用户注册的用户名//用户名三个方面检查//是否为空字符串检测长度检测$Max_Strlen_UserName = 16; //用户名最大长度$Min_Strlen_UserName = 4; //用户名最短长度$UserNameChars = "^[A-Z a-z 0-9_-]"; //字符串检测的正则表达式$UserNameGood = "用户名检测正确"; //定义返回的字符串变量if ($UserName == "") {$UserNameGood = "用户名不能为空";return $UserNameGood;}if (!ereg("$UserNameChars", $UserName)) {//正则表达式匹配检查$UserNameGood = "用户名字符串检测不正确";return $UserNameGood;}if (strlen($UserName) < $Min_Strlen_UserName || strlen($UserName) > $Max_Strlen_UserName) {$UserNameGood = "用户名字长度检测不正确";return $UserNameGood;}return $UserNameGood;}//判断密码是否合法函数function Check_Password($Password) {//是否为空字符串检测长度检测$Max_Strlen_Password = 16; //密码最大长度$Min_Strlen_Password = 6; //密码最短长度$PasswordChars = "^[A-Za-z0-9_-]"; //密码字符串检测正则表达式$PasswordGood = "密码检测正确"; //定义返回的字符串变量if ($Password == "") {$PasswordGood = "密码不能为空";return $PasswordGood;}if (!ereg("$PasswordChars", $Password)) {$PasswordGood = "密码字符串检测不正确";return $PasswordGood;}if (strlen($Password) < $Min_Strlen_Password || strlen($Password) > $Max_Strlen_Password) {$PasswordGood = "密码长度检测不正确";return $PasswordGood;}return $PasswordGood;}//判断邮箱是否合法函数function Check_Email($Email) {$EmailChars = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$"; //正则表达式判断是否是合法邮箱地址$EmailGood = "邮箱检测正确";if ($Email == "") {$EmailGood = "邮箱不能为空";return $EmailGood;}if (!ereg("$EmailChars", $Email)) {//正则表达式匹配检查$EmailGood = "邮箱格式不正确";return $EmailGood;}return $EmailGood;}//判断两次密码输入是否一致function Check_ConfirmPassword($Password, $ConfirmPassword) {$ConfirmPasswordGood = "两次密码输入一致";if ($Password <> $ConfirmPassword) {$ConfirmPasswordGood = "两次密码输入不一致";return $ConfirmPasswordGood;}elsereturn $ConfirmPasswordGood;}//调用函数,检测用户输入的数据$UserNameGood = Check_username($UserName);$PasswordGood = Check_Password($Password);$EmailGood = Check_Email($Email);$ConfirmPasswordGood = Check_ConfirmPassword($Password, $ConfirmPassword); $error = false; //定义变量判断注册数据是否出现错误if ($UserNameGood != "用户名检测正确") {$error = true; //改变error 的值表示出现了错误echo $UserNameGood; //输出错误信息echo "<br>";}if ($PasswordGood != "密码检测正确") {$error = true;echo $PasswordGood;echo "<br>";}if ($EmailGood != "邮箱检测正确") {$error = true;echo $EmailGood;echo "<br>";}if ($ConfirmPasswordGood != "两次密码输入一致") {$error = true;echo $ConfirmPasswordGood;echo "<br>";}//判断数据库中用户名和email 是否已经存在$query = "select * from UserInf where f_UserName='$UserName' or f_email='$Email'"; $result = mysql_query($query);$row = mysql_fetch_array($result);$cunzai=false;if ($row) {if ($row["f_UserName"] == $UserName) {$cunzai = true;}//$sql = "delete from UserInf where f_UserName='$UserName'";//$result = mysql_query($sql);}//mysql_free_result($result);//如果数据检测都合法,则将用户资料写进数据库表if($cunzai == true) { //$error==false 表示没有错误$IP = $_SERVER["REMOTE_ADDR"];$Datetime = date("Y-m-d G:i"); //获取注册时间,也就是数据写入到用户表的时间//$Datetime = date("d-m-y h:i:s"); //获取注册时间,也就是数据写入到用户表的时间$query1 = "update UserInf set f_password='".$Password."',f_name=".$Name.",f_email='".$Email."',f_class='3',f_logi nIP='".$IP."' where f_UserName='".$UserName."'";$result1 = mysql_query($query1);echo "修改成功!";if (isset($_SESSION['username'])) {$_SESSION['username'] = "";session_destroy();}echo "<script>document.location.assign='login.php'</script>";}>tuichu.php<?phpinclude 'config.php';if (isset($_SESSION['username'])) {$_SESSION['username']="";session_destroy();}><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><title></title></head><body><p>退出成功</p><?php echo "<script>document.location.href='index.php'</script>";?></body></html>login.php<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>User Login</title><style type="text/css">.alert {color: red}.textinput {width:160px}.btn {width:80px}table {border: 3px double;background-color:#eeeeee;}</style><script language="javascript">function doCheck() {if (ername.value == "") {alert('请输入你的用户名!');return false;}if (document.frmLogin.password.value == "") {alert('请输入你的密码!');return false;}}</script></head><body><form name="frmLogin" method="post" action="login_do.php" onSubmit="return doCheck();"><table border="0" cellpadding="8" width="350" align="center"><tr><td align="center" class="alert">用户名:</td><td><input name="username" type="text" id="username" class="textinput" /></td></tr><tr><td align="center" class="alert">密码:</td><td><input name="password" type="password" id="password" class="textinput" /></td></tr><tr><td colspan="2" align="center"><input type="submit" class="btn" value="登录">&nbsp;&nbsp;<input type="reset" class="btn" value="重置"> &nbsp;&nbsp;<input type="button" class="btn" onClick="location.href = 'index.php';" value="返回"></td></tr></form></body></html>login_do.php<?phpinclude 'config.php';$UserName = trim($_POST["username"]);$Password = $_POST["password"]; //密码$password = md5($password);if ($UserName <> "") {// 查询数据库,看用户名及密码是否正确$query = "select * from UserInf where f_UserName='$UserName' and f_password='$Password'";$result = mysql_query($query);$num = mysql_num_rows($result);if ($num > 0) {$row = mysql_fetch_assoc($result);$_SESSION['username'] = $row['f_UserName'];$_SESSION['userclass'] = $row['f_class'];$_SESSION['name']=$row['f_name'];if ($_SESSION['userclass'] == 1) {echo "<script>document.location.href='index1.php'</script>";} else {echo "<script>document.location.href='index.php'</script>";}}elseecho "用户名或密码不正确<script>document.location.href='login.php'</script>";}>category.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title></head><?phpinclude 'config.php';><body><form id="form1" name="form1" method="post" action="category_edit.php"><table width="100%" border="0"><caption>&nbsp;</caption><tr><td width="40%">&nbsp;</td><td width="20%"><input type=submit value="建立分类" name=submit1 /></td> <td><input size=30 name=category_name /></td></tr><tr><td colspan="2"><input type="hidden" name="action" value="addcat" /></td> </tr></table></form><form id="form2" name="form2" method="post" action="category_edit.php"><table width="100%" border="0"><caption>&nbsp;</caption><tr><td width="40%">&nbsp;</td><td width="10%"><input type=submit value="修改分类" name=submit2 /></td> <td><select size="1" name="category_id"><option value="0">-=选择分类=-</option><?php$sql="select * from category order by category_name";$result=mysql_query($sql);。

相关主题