版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《PHP动态网页》实训指导书《PHP动态网页》实训指导书
上饶职业技术学院
信息工程系
目录
实训1:PHP开发环境安装 实训1:PHP开发环境安装实训名称:PHP开发环境安装成绩:实训日期:年月日实训报告日期:年月日一、实训目的1、掌握Apache服务环境安装和配置2、掌握PHP环境安装和配置3、初步接触PHP程序二、实训内容1、安装和配置Apache服务环境2、安装和配置PHP环境3、使用AdobeDreamweaverCS5开发简单的PHP程序三、实训环境Apache服务器安装包程序、MySql数据库安装包程序、MySql数据库管理程序phpMyAdmin、php程序、AdobeDreamweaverCS5四、实训步骤、过程1、安装Apache服务器双击文件httpd-2.2.19-win32-x86-openssl-0.9.8r.msi,在安装程序打开窗口中,除了制定安装目录,并设定输入主机名、管理员信箱,见图1.1。图SEQ图表\*ARABIC1.1一路选择“Next”下去,完成安装。注(在此我们将Apache服务器安装在D:/apache/apache2.2)安装完成后,在任务栏托盘区中会增加一个Apache服务程序运行图标,这说明服务器已经安装成功,在IE地址栏中键入http://localhost/,即可看到Apache的欢迎页面。2、设置Apache的服务端口在Apache安装路径下的D:\Apache\Apache2.2\conf\文件夹中,打开httpd.conf文件,找到“listen80”所在的一行,将“80”改为自己希望的端口号,如8000。修改后,停止Apache服务,再启动,然后再浏览器地址栏中输入http://localhost:8000,观察效果。3、安装PHP环境将php也解压缩在d:/apache/php目录下4、配置PHP参数(1)在步骤2所用到的httpd.conf文件中,在文件最后加上以下三行代码PHPIniDir"D:\Apache\php"LoadModulephp5_module"D:\Apache\php\php5apache2_2.dll"AddTypeapplication/x-httpd-php.php其中:①PHPIniDir""一行的“”中,填写为PHP的安装路径。②LoadModulephp5_module""一行的"",填写为PHP的安装路径\php5apache2_2.dll。(2)设置PHP文件存放路径打开httpd.conf文件,在文件最后加上<Directory"D:\Apache\wwwroot">(D:\Apache\wwwroot是放置web目录的路径,路径即是存放网站的路径)OptionsIndexesFollowSymLinksAllowOverrideNoneOrderallow,denyAllowfromall</Directory>(3)配置启用默认文档打开D:\Apache\Apache2.2\conf\httpd.conf<IfModuledir_module>238行附近,设置启用默认文档DirectoryIndexindex.htmlindex.php</IfModule>(4)配置虚拟目录①打开httpd.conf文件,启用Includeconf/extra/httpd-vhosts.conf(461行附近)②打开Apache\Apache2.2\conf\extra中的httpd-vhosts.conf文件并进行配置,即设置虚拟目录与域名,在D盘的Apache文件夹下创建wwwroot文件夹。<VirtualHost*:80>ServerAdminwebmaster@dummy-host2.locahostDocumentRoot"D:\Apache\wwwroot\test"ServerNametestErrorLog"D:\Apache\wwwroot\test\logs\error.log"CustomLog"D:\Apache\wwwroot\test\logs\access.log"common</VirtualHost><VirtualHost*:80>ServerAdminwebmaster@dummy-host2.locahostDocumentRoot"D:\Apache\wwwroot\phpMyAdmin"ServerNamemysqlErrorLog"D:\Apache\wwwroot\phpMyAdmin\logs\error.log"CustomLog"D:\Apache\wwwroot\phpMyAdmin\logs\access.log"common</VirtualHost>注:以上的logs文件夹是存放错误日志的文件夹(5)找到PHP的安装路径下的php.ini(复制一份php.ini-dist,文件名修改为php.ini),启用配置找到:extension_dir="D:\Apache\php\ext"(491行附近,此行说明要调用ext中的文件)session.save_path="D:\Apache\tmp"(session临时保存的文件夹,其中tmp是自行创建的,995行附近)extension=php_gd2.dll(前面的";"去掉)启用618行附近extension=php_mysql.dll(前面的";"去掉)启用633行附近upload_tmp_dir="D:\Apache\tmp"(上传文件临时保存的文件夹,其中tmp是自行创建的)549行附近(6)将PHP安装路径下的文件php5ts.dll,libmysql.dll复制到Winnt(Windows)/system32/目录中。5、安装Mysql在Apache文件夹下,安装详细步骤见MySQL详细安装步骤.doc文档。6、配置Mysql数据库的管理程序phpMyAdmin①将phpMyAdmin整个文件夹复制到wwwroot文件夹下,phpMyAdmin是用来管理数据库MySQL的程序;②在wwwroot创建一个名为test的文件夹,该文件夹即是存放网站的文件夹;7、配置C:\WINDOWS\system32\drivers\etc下的hosts文件,即域名和本地IP()一致。8、创建一个简单的PHP程序,保存为index.php,并将其存放于test文件夹下,在地址栏里输入http://test/,如果输出hello,world!,说明环境配置正确,效果如图1.2所示:<html><head><title>Firstprogram</title></head><body><?phpecho"hello,world!";?></body></html>图1.29、上述的(1)、(2)、(3)、(4)、(5)、(6)、(7)都做完后,重新启动Apache服务。五、练习按照实训步骤把PHP运行环境配置好,并编写简单的PHP动态网页。六、源程序清单、测试数据、结果七、实训出现的问题、实训结果分析(语法错英语提示,中文翻译,原因,您的理解?)
实训2:PHP基础(一)实训名称:PHP基础成绩:实训日期:年月日实训报告日期:年月日一、实训目的1、掌握PHP语法基本元素,掌握数据类型、变量和常量、运算符、表达式的使用2、掌握PHP流程控制3、掌握在Html和PHP命令标记相结合的方法4、掌握用PHP和Html交互的处理方法二、实训内容1、PHP语法:数据类型、变量和常量、运算符、表达式、流程控制2、PHP和html交互三、实训环境PHP开发环境、AdobeDreamweaverCS5四、实训步骤、过程1、在html中嵌入PHP命令标记实验任务:编写一个php动态页面,在html标记中用先嵌入一段php代码,给变量$xh赋一个文本数值;然后把$xh的数值作为一个html表单中的文本型输入框的value属性值。编程示例:<html><head><title>在html中嵌入PHP命令</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><h1>PHPinsidehtml</h1><?php$xh="081101";?><formaction=""method="post">学号是<inputtype="text"name="xh"size="20"value="<?phpecho$xh;?>"></form></body></html>2、PHP语法实验(1)变量、表达式和判断的使用实验任务:编写一段PHP代码,用于判断一个整数变量的数值是否大于5,并显示判断结果。编程示例:<?echo"<br>";$i=10;if($i>5)echo"i大于5<br>";elseecho"i不大于5<br>";?>(2)循环实验任务:在(1)所编写PHP代码的基础上,添加一段循环,从1依次显示到整数变量的数值,各数之间以“,”做分隔符。编程示例:<?echo"<br>";$i=10;if($i>5)echo"i大于5<br>";elseecho"i不大于5<br>";for($j=1;$j<=$i;$j++){If($j<$i)echo$j.",";elseecho$j;}?>3、php读取表单数值实验任务:编写一个带Form和输入控件的PHP页面,用PHP代码接收输入控件的内容,并显示。编程示例:<html><head><title>PHP读取表单练习</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><h1>PHP读取表单练习</h1><formaction=""method="post">请输入变量$i的数值<inputtype="text"name="i"size="20"><inputtype="submit"name="submit"value="确定"></form><?phpif(isset($_POST['submit'])){ $i=$_POST['i'];$i=(int)$i; if($i>5)echo"<script>alert('i大于5');</script>"; elseecho"<script>alert('i不大于5');</script>"; for($j=0;$j<$i;$j++) {if($j==$i-1) echo$j; else echo$j.","; }}?></body></html>五、练习编写程序完成:100个和尚吃100个馒头.大和尚一人吃3个,小和尚3人吃一个.大,小和尚各多少人?六、源程序清单、测试数据、结果七、实训出现的问题、实训结果分析(语法错英语提示,中文翻译,原因,您的理解?)实训3:PHP基础(二)实训名称:PHP基础成绩:实训日期:年月日实训报告日期:年月日一、实训目的1、掌握php中函数的定义和使用方法2、掌握php中类的定义和使用方法实训内容1、PHP函数2、PHP面向对象编程三、实训环境PHP开发环境、AdobeDreamweaverCS5四、实训步骤、过程1、函数的定义和使用实验任务:设计一个PHP网页ex3_1.php,其中定义一个PHP函数,用于比较前两个输入参数的大小。若第三个输入参数的数值是“B”,就将最大的数值返回,若第三个参数的数值是“L”,就将最小的数值返回,若前两个输入参数一样大,则返回二者其中之一。并用同一个PHP网页输入两个数值,调用上述的函数返回结果。编程示例:<html><head><title>PHP函数练习</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><?phpfunctioncbl($i,$j,$p){if($i>=$j){ $bigger=$i;$littler=$j;}else{ $bigger=$j;$littler=$i; }if($p=="B")return$bigger;elsereturn$littler;}if(isset($_POST['submit'])){ $a=$_POST['a'];$a=(int)$a; $b=$_POST['b']; $b=(int)$b; $sel=$_POST['sel'];}?><h1>PHP函数练习</h1><formaction=""method="post"><tablewidth="80%"border="0"><tr> <tdwidth="20%">请输入变量$a的数值</td><tdwidth="80%"><inputtype="text"name="a"size="20"value="<?phpecho$a;?>"></td><tr><tr> <td>请输入变量$b的数值</td><td><inputtype="text"name="b"size="20"value="<?phpecho$b;?>"></td><tr> <tr> <td>指定返回数值是</td><td> <selectname="sel"> <optionvalue="最大值">最大值</option> <optionvalue="最小值">最小值</option> </select> </td><tr><tr> <td> </td><td><inputtype="submit"name="submit"value="确定"></td><tr> <tr> <td>结果是</td><td> <?php if($sel=="最大值") $control="B"; else $control="L"; echo"两者的".$sel."是".cbl($a,$b,$control);?> </td><tr></table></form></body></html>2、类的定义和使用实验任务:在一个PHP网页ex3_2.php中,设计一个学生管理类,有学号、姓名、专业等属性,用来存储学生的信息。用PHP代码创建学生管理类的实例,并用输入文本框给实例的属性赋值,并显示实例的属性数值。编程示例:<html><head><title>PHP面向对象设计练习</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><?phpif(isset($_POST['submit'])){ $sid=$_POST['sid'];$sname=$_POST['sname']; $spel=$_POST['spel'];}classstudent{private$sid;private$sname;private$spel;functionshow($xh,$xm,$zy){ $this->sid=$xh; $this->sname=$xm; $this->spel=$zy; echo"学号:".$this->sid."<br>"; echo"姓名:".$this->sname."<br>"; echo"专业:".$this->spel."<br>";}}?><h1>PHP类的设计练习</h1><formaction=""method="post"><tablewidth="80%"border="0"><tr> <tdwidth="10%">请输入学号:</td><tdwidth="80%"><inputtype="text"name="sid"size="20"value="<?phpecho$sid;?>"></td><tr><tr> <td>请输入姓名</td><td><inputtype="text"name="sname"size="20"value="<?phpecho$sname;?>"></td><tr> <tr> <td>请指定专业</td><td> <selectname="spel"> <optionvalue="软件设计">软件设计</option> <optionvalue="信息管理">信息管理</option> </select> </td><tr><tr> <td> </td><td><inputtype="submit"name="submit"value="确定"></td><tr> <tr> <td>实例是</td><td><?php $stu=newstudent(); $stu->show($sid,$sname,$spel); //echo$sid; ?> </td><tr></table></form></body></html>五、练习六、源程序清单、测试数据、结果七、实训出现的问题、实训结果分析(语法错英语提示,中文翻译,原因,您的理解?)实训4:PHP数据处理实训名称:PHP数据处理成绩:实训日期:年月日实训报告日期:年月日一、实训目的1、掌握PHP中处理数组数据的方法2、掌握PHP中字符串操作的方法3、掌握PHP中正则表达式的使用方法4、掌握PHP中文件的操作方法5、掌握PHP中日期数据的处理方法二、实训内容1、使用PHP数组:包括定义、初始化、键和值、定位和遍历2、进行字符串操作3、用正则表达式验证表单数据正确性4、文件打开、关闭、写入、读出等操作5、日期函数的使用三、实训环境PHP开发环境、AdobeDreamweaverCS5四、实训步骤、过程1、数组的操作实验任务:设计一个PHP网页ex4_1.php,其中使用循环将用户输入的5个数由小到大排序显示编程示例:<?phpecho"请输入需要排序的数据:<br>";echo"<formmethod='post'>";for($i=1;$i<6;$i++){echo"<inputtype='text'name='seq[]'size='5'>";if($i<5)echo"-";}echo"<inputtype='submit'name='confirm'value='提交'>";echo"</form>";?><?phpif(isset($_POST['confirm'])){ $temp=0; $seq=$_POST['seq']; $num=count($seq); echo"您输入的数据有:<br>"; foreach($seqas$score) { echo$score."<br>"; } for($i=0;$i<$num;$i++){ for($j=$i+1;$j<$num;$j++){ if($seq[$j]>$seq[$i]) { $temp=$seq[$j]; $seq[$j]=$seq[$i]; $seq[$i]=$temp; } } } echo"从大到小排序后的结果是:<br>"; while(list($key,$value)=each($seq)) { echo$value."<br>"; }}?>2、字符串的操作实验任务:设计一个PHP网页ex4_2.php,输入5个学生的学号,如果有相同的学号则只保留一个,找到前缀为“0811”的学生,将前缀改为“0810”,最后将所有学号输出,以逗号“,”为分隔符。编程示例:<?phpecho"请输入学生的学号:<br>";echo"<formmethod='post'>";for($i=1;$i<6;$i++){echo"<inputtype='text'name='stu[]'size='5'>";if($i<5)echo"-";}echo"<inputtype='submit'name='confirm'value='提交'>";echo"</form>";?><?phpif(isset($_POST['confirm'])){ $k=0; $jsj=array(); $stu=$_POST['stu']; for($i=0;$i<count($stu);$i++){ for($j=$i+1;$j<count($stu);$j++) { if(strcmp($stu[$i],$stu[$j])==0) array_splice($stu,$j,1);//删除重复元素 } } $str=implode(",",$stu);//将数组转换为字符串 echo"所有学生的学号如下:"; echo$str."<br>"; foreach($stuas$value){ if(strstr($value,"0811")) { $string=str_replace("0811","0810",$value); $jsj[$k]=$string; $k++; } } echo"调整后,学生的学号如下:<br>"; echoimplode(",",$jsj);}?><html><head><metahttp-equiv="content-type"content="text/html;charset=gb2312"></head><body></body></html>3、上传文件,要求能创建以当前日期为文件名的文件夹存放文件,能控制上传文件的类型及大小。图4.1上传图<?phpheader("Content-Type;text/html;charset=utf-8");?><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无标题文档</title></head><body><tablewidth="352"border="0"cellspacing="0"cellpadding="0"><tr><tdwidth="352"align="center">文件上传</td></tr><tr><td><formaction=""method="post"enctype="multipart/form-data"name="FORM"id="FORM"><inputname="task"type="hidden"id="add"value="add"/><label><inputtype="file"name="userFile"id="userFile"/></label><label><inputtype="submit"name="button"id="button"value="上传"/></label></form></td></tr></table></body></html><?phpif($_POST['task']=='add'){//创建目录的函数:mkdir0777$houZui=array("doc","docx","ppt","pptx","zip","rar","jpg","txt");$dir="upload/".date("Y-m-d");$maxFile=2*1024*1024;if(!file_exists($dir)){mkdir($dir,'0777');} if($_FILES['userFile']['name']!=''){ if($_FILES['userFile']['size']<=$maxFile){ $pic=$_FILES['userFile']['name']; $a=explode(".",$pic); $houZuiMing=strtolower($a[count($a)-1]); if(in_array($houZuiMing,$houZui)){ $name=$_FILES['userFile']['name']; $picture=$dir."/".time().".".$houZuiMing; if(move_uploaded_file($_FILES['userFile']['tmp_name'],$picture)){ echo"上传成功!"; }else{ echo"上传失败!"; } }else{ echo"<script>alert('格式不支持!');window.location='add.php'</script>"; } }else{ echo"<script>alert('文件太大!');window.location='add.php'</script>"; }}else{echo"<script>alert('不能为空!');window.location='add.php'</script>";}}?>五、练习六、源程序清单、测试数据、结果七、实训出现的问题、实训结果分析(语法错英语提示,中文翻译,原因,您的理解?)实训5:PHPWeb项目实践——注册登录系统的设计与开发实训名称:PHPWeb项目实践成绩:实训日期:年月日实训报告日期:年月日一、实训目的1、掌握使用PHP编写交互网站所需要的方法2、包括接收表单数据3、使用会话4、掌握数据库MySql的操作二、实训内容1、连接数据库2、接收表单数据3、页面跳转4、使用会话5、对数据库MySql进行数据删除、增加三、实训环境PHP开发环境、AdobeDreamweaverCS5四、实训步骤实验任务:编写一个小型注册登录系统,当用户注册登录之后,能显示其相对应的个人信息,在注册提交时,能判断其所填信息不能为空,将所做的所有页面放在一个以register命名的文件夹中。编程示例:1、进入MySql,创建一个名为login的数据库,并新建一个名为com_users的数据表,数据表中的字段和字段属性如下表5.1所示:5.1表com_users字段名和字段属性字段名含义数据类型数据长度是否主键是否允许为空id编号int11是auto_increment否username用户名varchar255否是password密码varchar255否是repassword重复密码varchar255否是sex性别tinyint4否是mobile手机varchar50否是Email电子邮箱varchar255否是regtime注册时间int11否否/默认值0published审核tinyint4否否/默认值02、连接数据库页面config.php<?php//Databaseinformationdefine("DB_HOSTNAME", "");//localhostdefine("DB_DATABASE_NAME", "login");//数据库存名称define("DB_USERNAME", "root");define("DB_PASSWORD", "123456");$fileDir=substr(dirname(__FILE__),0,-7);$link=mysql_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWORD)ordie("Databaseconnectfalse");mysql_select_db(DB_DATABASE_NAME,$link);mysql_query("SETnamesutf8");mysql_query("SETSQL_MODE=''");//设置模式@date_default_timezone_set("Asia/Shanghai");?>3、头部head.php页面<?phpheader('Content-Type:text/html;charset=utf-8'); session_start();?><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>留言板</title><scriptlanguage="JavaScript"type="text/JavaScript">functionsubmitForm(reg){varf=document.adminForm; if(f.username.value==''){ alert("请输入用户名"); f.username.focus(); return; } if(f.email.value==''){ alert("请输入电子邮箱"); f.email.focus(); return; } if(f.password.value==''){ alert("请输入密码"); f.password.focus(); return; } if(f.repassword.value==''){ alert("请输入重复密码"); f.repassword.focus(); return; } if(f.sex.value==''){ alert("请选择性别"); f.sex.focus(); return; } if(f.mobile.value==''){ alert("请输入手机号"); f.mobile.focus(); return; } f.task.value=reg; f.submit();}</script><styletype="text/css">body,td,th{ font-size:12px;}</style></head><body><tablewidth="700"border="0"cellspacing="0"cellpadding="0"><tr><tdalign="center"><ahref="register.php">用户注册</a>| <?php if($_SESSION['id']>0){ echo$_SESSION['username'].",您好!<ahref='login.php?task=out'>退出</a>";}else{ ?> <ahref="login.php">用户登录</a> <?php} ?> </td></tr></table><br><br/>4、注册与显示详细信息页面register.php<?phpheader('Content-Type:text/html;charset=utf-8');session_start();include_once("config.php");include_once("head.php");$id=$_SESSION['id'];if($_SESSION['id']>0){$sql="select*fromcom_userswhereid=".$id;$rs=mysql_query($sql);//$obj=mysql_fetch_object($rs);//$gbtitle=$obj->gbtitle;$row=mysql_fetch_array($rs,MYSQL_BOTH);$username=$row['username'];$email=$row['email'];$password=$row['password'];$repassword=$row['repassword'];$sex=$row['sex'];$mobile=$row['mobile'];}?><tablewidth="616"border="0"align="center"cellpadding="0"cellspacing="0"style="margin-top:10px"><formaction="reg.php"method="post"name="adminForm"id="adminForm"><inputtype="hidden"id="task"name="task"value="reg"><tr><tdheight="35"colspan="2"align="center">用户注册 </td></tr><tr><tdwidth="140"height="39"align="right"bgcolor="#eeeeee">用户名:</td><tdwidth="560"height="39"align="left"bgcolor="#eeeeee"><spanclass="cheng12"><inputname="username"type="text"id="username"size="20"value="<?phpecho$username;?>"/></span><spanclass="hong12">* 最多30个字符</span></td></tr><tr><tdheight="35"align="right"> 电子邮箱:</td><tdheight="35"align="left"><inputname="email"type="text"id="email"value="<?phpecho$email;?>"size="20"/><spanclass="hong12">* </span></td></tr><tr><tdheight="35"align="right"bgcolor="#eeeeee"> 密 码:</td><tdheight="35"align="left"bgcolor="#eeeeee"><inputname="password"type="password"id="password"value="<?phpecho$password;?>"size="20"/><spanclass="hong12">* 最多15个字符</span></td></tr><tr><tdheight="35"align="right"> 重复密码:</td><tdheight="35"align="left"><inputname="repassword"type="password"id="repassword"value="<?phpecho$repassword;?>"size="20"/><spanclass="hong12">*</span></td></tr><tr><tdheight="35"align="right"bgcolor="#eeeeee">性 别: </td><tdheight="35"align="left"bgcolor="#eeeeee"><?phpif($sex==0){?><inputname="sex"type="radio"id="radio"value="0"checked="checked"/>男<labelfor="sex"><inputtype="radio"name="sex"id="radio2"value="1"/>女<inputtype="radio"name="sex"id="radio3"value="2"/>保密</label><?php}?><?phpif($sex==1){?><inputname="sex"type="radio"id="radio"value="0"/>男<labelfor="sex"><inputtype="radio"name="sex"id="radio2"value="1"checked="checked"/>女<inputtype="radio"name="sex"id="radio3"value="2"/>保密</label><?php}?><?phpif($sex==2){?><inputname="sex"type="radio"id="radio"value="0"/>男<labelfor="sex"><inputtype="radio"name="sex"id="radio2"value="1"/>女<inputtype="radio"name="sex"id="radio3"value="2"checked="checked"/>保密</label><?php}?></td></tr><tr><tdheight="35"align="right">手 机:</td><tdheight="35"align="left"><inputname="mobile"type="text"class="shuRuKuang"id="mobile"value="<?phpecho$mobile;?>"/></td></tr><tr><tdheight="35"align="center"bgcolor="#eeeeee"> </td><tdheight="35"align="left"bgcolor="#eeeeee"><inputtype="button"name="button"value="提交"onClick="javascript:submitForm('reg');"> <inputtype="reset"name="button2"id="button2"value="重置"/> <inputtype="button"name="button2"id="button2"value="返回"onClick="window.location='login.php'"/></td></tr><tr><tdheight="49"colspan="2"align="left"style="line-height:16px"><pclass="hui12"> </p></td></tr></form></table></body></html>5、注册添加页面reg.php<?phpheader("content-type:text/html;charset=utf-8");session_start();include_once('config.php');if($_POST['task']=="reg"){ $username=$_POST['username']; $email=$_POST['email']; $password=$_POST['password']; $repassword=$_POST['repassword']; $sex=$_POST['sex']; $mobile=$_POST['mobile']; if($password!=$repassword){ echo"<script>alert('两次输入的密码不一致!');</script>"; echo"<script>window.location='register.html';</script>"; exit(); } $sql="select*fromcom_userswhereusername='".$username."'"; $rs=mysql_query($sql); $num=mysql_num_rows($rs); if($num>0){ //用户存在 echo"<script>alert('该用户名已存在,请更换用户名再注册!');</script>"; echo"<script>window.location='register.php';</script>"; exit(); } $regtime=time(); $published=1; $password=md5($password); $sql="insertintocom_users(username,password,email,regtime,published,mobile,sex)values('$username','$password','$email','$regtime','$published','$mobile','$sex')"; if(mysql_query($sql)){ echo"<script>alert('注册成功');</script>"; echo"<script>window.location='login.php';</script>"; exit(); }else{ echo"<script>alert('注册失败!');</script>"; echo"<script>window.location='register.html';</script>"; exit(); }}?>6、登录页面与退出页面login.php<?phpheader('Content-Type:text/html;charset=utf-8'); session_start();include_once("config.php");//第一步是否提交if($_POST['task']=='login'){ $username=$_POST['username']; $password=md5($_POST['password']); $sql="select*fromcom_userswhereusername='".$username."'andpassword='".$password."'"; $rs=mysql_query($sql); $num=mysql_num_rows($rs); if($num>0){ //用户存在 $obj=mysql_fetch_object($rs); $id=$obj->id; $username=$obj->username; $_SESSION['id']=$id; $_SESSION['username']=$username; if($_POST['remember']==1){ setcookie("username",$username,time()+365*24*3600,'/'); //echo$_COOKIE['username']; //exit(); } header("Location:register.php"); }else{ echo"<script>alert('用户名或者密码不正确!');window.location='login.php'</script>"; exit(); }}if($_GET['task']=="out"){ $_SESSION['id']=''; $_SESSION['username']='';}include_once("head.php");?><tablewidth="600"border="0"align="center"cellpadding="5"cellspacing="1"bgcolor="#000000"><formaction="login.php"name="login"method="post"><inputtype="hidden"name="task"value="login"/><trbgcolor="#999999"><tdcolspan="2"align="center"><strong>管理员登录</strong></td></tr><trbgcolor="#FFFFFF"><tdwidth="153"align="right">用户名:</td><tdwidth="447"><labelfor="username"></label><inputtype="text"name="username"id="username"value="<?phpecho$_COOKIE['username'];?>"/></td></tr><trbgcolor="#FFFFFF"><tdalign="right">密码:</td><td><labelfor="password"></label><inputtype="password"name="password"id="password"/></td></tr><trbgcolor="#FFFFFF"><tdalign="right"></td><td><inputtype="checkbox"name="remember"value="1"/>记住我</td></tr><trbgcolor="#CCCCCC"><tdcolspan="2"align="center"><inputtype="submit"name="sub"id="登录"value="登录"/></td></tr></form></table></body></html>五、练习六、源程序清单、测试数据、结果七、实训出现的问题、实训结果分析(语法错英语提示,中文翻译,原因,您的理解?)实训6:PHP和数据库——留言板系统的设计与开发实训名称:PHP和数据库成绩:实训日期:年月日实训报告日期:年月日一、实训目的掌握PHP连接和操作数据库的方法二、实训内容1、连接数据库2、接收表单数据3、页面跳转4、使用会话5、对数据库MySql进行数据删除、增加6、用PHP连接和操作MySql的方法三、实训环境PHP开发环境、AdobeDreamweaverCS5四、实训步骤实验任务:编写一个留言板程序,普通用户只有查看留言的功能,而管理员具有回复和删除留言板的功能,并且要求具有分页功能,每页只显示三条留言内容。编程示例:1、将common文件夹放在根目录(Gbook)下面,其中里面包含了分页的文件pageturn.inc.php和db.inc.php。2、进入MySql,创建一个名为Gbook的数据库,并新建两个名为gbook和user的数据表,数据表中的字段和字段属性如下表所示:表6.1gbook表的字段和字段属性字段名含义数据类型数据长度是否主键是否允许为空id编号int11是auto_increment否gbtitle留言标题varchar255否否gbcontent留言内容longtext否否username用户名varchar255否否email电子邮箱varchar255否否phone手机varchar50否否addtime留言时间int11否否ip客户端IPvarchar50否否replycontent回复内容longtext否是replyer回复人varchar255否是replytime回复时间int11否是published审核tinyint4否否/默认值0ordering排序int11否否/默认值0表6.2user表的字段和字段属性字段名含义数据类型数据长度是否主键是否允许为空id编号int11是auto_increment否username用户名varchar255否否password密码varchar255否否3、连接数据库页面<?php//Databaseinformationdefine("DB_HOSTNAME", "");//localhostdefine("DB_DATABASE_NAME", "gbook1");//数据库存名称define("DB_USERNAME", "root");define("DB_PASSWORD", "123456");$fileDir=substr(dirname(__FILE__),0,-7);$link=mysql_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWORD)ordie("Databaseconnectfalse");mysql_select_db(DB_DATABASE_NAME,$link);mysql_query("SETnamesutf8");mysql_query("SETSQL_MODE=''");//设置模式@date_default_timezone_set("Asia/Shanghai");?>4、头部head.php页面<?phpheader('Content-Type:text/html;charset=utf-8'); session_start();?><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>留言板</title><styletype="text/css">body,td,th{ font-size:12px;}</style></head><body><tablewidth="700"border="0"cellspacing="0"cellpadding="0"><tr><tdalign="center"><ahref="index.php">首页</a>|<ahref="add.php">我要留言</a>| <?php if($_SESSION['id']>0){ echo$_SESSION['username'].",您好!<ahref='login.php?task=out'>退出</a>";}else{ ?> <ahref="login.php">管理员登录</a> <?php} ?> </td></tr></table><br><br/>5、首页与删除页面index.php<?phpheader('Content-Type:text/html;charset=utf-8');session_start();include_once("config.php");include_once("common/pageturn.inc.php");if($_GET['task']=="delete"&&intval($_GET['id'])>0){ if($_SESSION['id']<=0){ echo"<script>alert('请先登录!');window.location='login.php'</script>"; exit(); } $id=intval($_GET['id']); $sql="deletefromgbookwhereid=".$id; if(mysql_query($sql)){ echo"<script>alert('删除成功');window.location='index.php'</script>"; exit(); }else{ echo"<script>alert('删除失败!');window.location='index.php'</script>"; exit(); }}?><?phpinclude_once("head.php");$sql="select*fromgbookorderbyidDESC";$obj=newLwgpageturn(3);//将对象实例化$obj->query($sql);//下面单列显示记录示例for($i=0;$i<$obj->shownum;$i++){?><tablewidth="700"border="0"align="center"cellpadding="5"cellspacing="1"bgcolor="#000000"><trbgcolor="#FFFFFF"><tdwidth="120">标题:<?phpecho$obj->Records[$i]['gbtitle'];?></td><tdwidth="203">时间:<?phpechodate("Y-m-dH:i:s",$obj->Records[$i]['addtime']);?></td><tdwidth="243">IP:<?phpecho$obj->Records[$i]['ip'];?></td></tr><trbgcolor="#FFFFFF"><tdrowspan="2"><p>留言人<?phpecho$obj->Records[$i]['username'];?></p><p>电话:<?phpecho$obj->Records[$i]['phone']?></p></td><tdheight="132"colspan="2"valign="top"> <?php echo$obj->Records[$i]['gbcontent']; if($obj->Records[$i]['replycontent']!=''){ echo"<br><b>管理员回复:</b>".$obj->Records[$i]['replycontent']; } ?></td></tr><trbgcolor="#FFFFFF"><tdheight="30"colspan="2"align="right"valign="top"><ahref="add.php?id=<?phpecho$obj->Records[$i]['id'];?>">回复</a>|<ahref="index.php?id=<?phpecho$obj->Records[$i]['id'];?>&task=delete">删除</a> </td></tr></table><p><?phpecho"<br>";}?></p><tablewidth="633"border="0"align="center"cellpadding="0"cellspacing="0"><tralign="center"><td><?phpecho$obj->navbar(10,2,false,"#000000").$obj->pagejump();?></td></tr></table></body></html>6、回复与添加页面add.php<?phpheader('Content-Type:text/html;charset=utf-8'); session_start();include_once("config.php");if($_POST['task']=='add'){ $gbtitle=$_POST['gbtitle']; $gbcontent=$_POST['gbcontent']; $username=$_POST['username']; $phone=$_POST['phone']; $ip=$_SERVER['REMOTE_ADDR']; $addtime=time(); $sql="insertintogbook(gbtitle,gbcontent,username,phone,ip,addtime)values('$gbtitle','$gbcontent','$username','$phone','$ip','$addtime')"; if(mysql_query($sql)){ echo"<script>alert('留言成功');window.location='index.php'</script>"; }else{ echo"<script>alert('留言失败!');window.location='index.php'</script>"; }}if($_POST['task']=="edit"){//回复操作 if($_SESSION['id']<=0){ echo"<script>alert('请先登录!');window.location='login.php'</script>"; exit(); } $id=intval($_POST['id']); $replycontent=$_POST['replycontent']; $sql="updategbooksetreplycontent='".$replycontent."',replyer='0',replytime='".time()."'whereid=".$id; if(mysql_query($sql)){ echo"<script>alert('回复成功');window.location='index.php'</script>"; exit(); }else{ echo"<script>alert('回复成功');window.location='index.php'</script>"; exit(); }}include_once("head.php");$id=intval($_REQUEST['id']);if($id>0){ if($_SESSION['id']<=0){ $refer=urlencode("add.php?id=".$id); echo"<script>alert('请先登录!');window.location='login.php?refer=".$refer."'</script>"; exit(); } $sql="select*fromgbookwhereid=".$id; $rs=mysql_query($sql); //$obj=mysql_fetch_object($rs); //$gbtitle=$obj->gbtitle; $row=mysql_fetch_array($rs,MYSQL_BOTH); $gbtitle=$row['gbtitle']; $username=$row['username']; $phone=$row['phone']; $gbcontent=$row['gbcontent']; $replycontent=$row['replycontent']; $id=$row['id']; $task="edit"; $taskname="回复";}else{ $task="add"; $taskname="留言";}?><tablewidth="600"border="0"align="center"cellpadding="5"cellspacing="1"bgcolor="#000000"><formaction="add.php"method="post"><inputtype="hidden"name="task"v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度互联网游戏开发与发行合同
- 2024年度物联网技术研发与应用借款合同
- 纸制名牌市场环境与对策分析
- 04年版车位代理销售合同范本
- 酒囊项目评价分析报告
- 运送滑雪者上坡的装置市场需求与消费特点分析
- 运动制服市场需求与消费特点分析
- 空气分析仪器市场需求与消费特点分析
- 2024年度专利实施许可合同标的知识产权条款
- 2024年度品牌授权合同(特许经营)
- 奇妙的透镜说课课件-2024-2025学年沪粤版物理八年级上学期
- 农民工欠薪调解协议书模板
- 2024至2030年中国消防行业市场发展规模及投资机会分析报告
- 商铺出售回购协议书范本
- 港口液体危化品装卸管理人员理论考试题库-上(单选题)
- 电玩城消防应急疏散预案
- 人工智能技术应用专业调研报告
- 高中体育人教版课程教学分析
- 2024年电工(初级)考试题库附答案
- 统编版八年级上册道德与法治1.1《我与社会》教学设计
- 中国医药公开招聘公司总监等高级管理岗位(高频重点提升专题训练)共500题附带答案详解
评论
0/150
提交评论