搜档网
当前位置:搜档网 › 《网站编程技术》上机实验指导书

《网站编程技术》上机实验指导书

《网站编程技术》上机实验指导书
《网站编程技术》上机实验指导书

南阳理工学院

《网站编程技术》上机实验指导书

(2013版)

软件学院·网络工程教研室

2013.03

目录

实验1 PHP基础 (1)

实验2 PHP表达式 (3)

实验3 PHP流程控制 (5)

实验4 PHP数组 (9)

实验5 PHP数据采集 (11)

实验6 PHP函数 (15)

实验7基于Mysql的PHP管理系统数据库 (17)

实验8 PHP会话控制 (21)

实验9 字符串处理 (25)

实验10 PHP综合应用 (28)

实验1 PHP基础

实验实验目的和要求:

1.掌握WAMP或LAMP等PHP环境的部署;

2.掌握最基本的PHP程序的结构;

3.掌握基本的输出语句以及PHP代码和HTML代码的混合编写。

实验内容:

1、下载并安装WampServer,构建PHP运行环境;

2、构建PHP开发环境,编写并运行一个PHP程序,最终在屏幕上显示“hello world”以及服务器的系统时钟。要求,为程序的每一行都加上必要的注释说明。

3、编写register.html,此页面包含一个简单的表单,用户可以输入用户名、密码、确认密码等信息并可以提交表单。(选作)

4、编写register.php,用来处理register.html中用户提交的数据,把用户输入的信息输出到网页中。(选作)

实验预作记录:

1、下载并安装wampserver软件

2、配置php的时区,在php.ini文件中时区配置为date.timezone=Asia/ShangHai,然后重新启动所有的服务。

3、在WWW目录中新建一个目录1,在目录1中新建一个文件名为helloword.php 的php文件。注意PHP程序的输写方法,开头需要是<?php ,结束是?>。

4、在屏幕上输出hello world !,在helloworld文件中写的php语句,对这个语句进行注释。

#在浏览器上显示服务器的系统时钟

echo date("Y年m月d日H时i分s秒");

5、在文件中写php语句将服务器的时钟显示在屏幕上,对这个语句进行注释。#在浏览器上显示服务器的系统时钟

echo date("Y年m月d日H时i分s秒");

6、在浏览器中输入http://localhost进行测试,正常情况下网页中应该出现“helloworld”等内容。

相关源代码:

第一个PHP程序


/* 在浏览器上显示hello world !*/

//在浏览器上显示hello world !

#在浏览器上显示hello world !

echo "hello world !";

echo "
";//换行

/* 在浏览器上显示服务器的系统时钟*/ //在浏览器上显示服务器的系统时钟

#在浏览器上显示服务器的系统时钟echo date("Y年m月d日H时i分s秒"); ?>


实验2 PHP表达式

实验实验目的和要求:

1.掌握PHP常量的定义和使用;

2.掌握PHP变量的定义和使用;

3.掌握PHP的变量的数据类型;

4.掌握PHP的数据的采集和基本的表达式的使用。

实验内容:

补充完成一个名字为index.php的PHP程序,自己仔细的解读给定的HTML 代码,然后获取用户输入的圆的半径,然后计算出圆的面积和周长。然后输出“圆的面积是***CM2”,“圆的周长是***CM”。注意检查用户输入的数值的合法性。

实验预作记录:

1、打开WAMP 服务器,是WAMP 服务器处于在线的状态。

2、单击WAMP,选择www目录,在此目录下创建一个job3.php.

3、使用Editplus 打开job3.php ,将老师给定的HTML代码复制到文件中,阅读给定的代码。

4、依照题目的要求再次基础上添加相应的代码,实现获取用户输入的圆的半径,然后计算出圆的面积和周长。然后输出“圆的面积是***CM2”,“圆的周长是***CM”。

5、基本功能实现之后,对输入的数据的合法性进行验证,比如说用户输入的内容不能为空,并且输入的数据必须是整形,且必须大于零,代码编写完成后,进行调试。

6、打开浏览器,输入http://localhost/job3.php,分别输入半径2 和2.2 和2a 的值,观察结果是否正确。有错误的话返回第五步,继续进行调试。

7、实验完成后,书写相应的文档,实验结束。

相关源代码:

输入半径,求圆面积和周长

以下是求一个圆的面积和周长的网页,请注意所输入的圆半径需要为整数

请输入一个圆的半径(厘米):




define("PI","3.14");

if(isset($_POST['submit']))

{

$radius=$_POST['radius'];

$radius1=(int)$radius;

if($radius!="" && $radius>=0 && !strcmp($radius,$radius1)){

$area=PI*$radius1*$radius1;

$circle=2*PI*$radius1;

echo "圆的面积是".$area."CM2
";

echo "圆的周长是".$circle."CM";

}else{

echo "请输入一个合法的半径的值!";

}

}

?>

实验3 PHP流程控制

实验目的和要求:

1、使学生熟悉并掌握PHP的Switch语句;

2、使学生熟悉并掌握PHP的For循环;

3、使学生熟悉并掌握PHP的While循环;

4、使学生熟悉并掌握PHP的Do While循环。

实验内容:

补充完成一个PHP程序,自己仔细的解读给定的HTML代码,然后获取用户输入的单选框的值。系统根据用户提交的选项,自动按照选项的要求计算出最终的结果。

用户点击“开始计算”按钮后,分别输出“1+2+3+4+...+99+100=xxx”,“1+3+5+...+99=xxx”,“2+4+6+...+100=xxx”以及“系统的初始总和为:xxx”。实验内容:

补充完成一个PHP程序,自己仔细的解读给定的HTML代码,然后获取用户输入的单选框的值。系统根据用户提交的选项,自动按照选项的要求计算出最终的结果。

用户点击“开始计算”按钮后,分别输出“1+2+3+4+...+99+100=xxx”,“1+3+5+...+99=xxx”,“2+4+6+...+100=xxx”以及“系统的初始总和为:xxx”。实验预作记录:

1、首先是实验环境的调试,这个实验是基于windows下,利用wampserver架构WAMP实验环境来完成的;

2、而php代码编写的环境安装,这个实验在Dreamware 8下调试出代码的,所以先安装Dreamware 8;

3、启动wampserver,并打开Dreamware 8;

4、分析题目,要求是编写代码利用for循环计算1+2+3+4+...+99+100的值并完整输出,使用While循环计算:1+3+5+...+99的值并完整输出,使用Do while循环计算:2+4+6+...+100的值并完整输出,确定好思路,并在写字板上写出大概得过程;

5、然后在Dreamware 8中开始编写代码,代码完成后保存,并放到wampserver 的www目录下;

6、利用网页进行测试,测试时查看最初始的计数($sum)的值,并点击不同的按钮,检查结果是否正确,如果正确就保存实验结果。

相关源代码:

PHP的Switch分支语句和循环语句的练习

请输入一个选项(初始值$sum=0):

使用For循环计算:1+2+3+4+...+99+100的值

使用While循环计算:1+3+5+...+99的值

使用Do while循环计算:2+4+6+...+100的值

查看最初始的计数($sum)的值


/*补充完成一个PHP程序,自己仔细的解读给定的HTML代码,然后获取用户输入的单选框的值。系统根据用户提交的选项,自动按照选项的要求计算出最终的结果。

用户点击“开始计算”按钮后,分别输出“1+2+3+4+...+99+100=xxx”,“1+3+5+...+99=xxx”,“2+4+6+...+100=xxx”以及“系统的初始总和为:xxx”。*/

$sum=0;

if(isset($_POST['submit']))

{

if(isset($_POST['option']))

{

$option=$_POST['option'];

switch($option)

{

case "option_1":

for($i=1;$i<=100;$i++)

{

$sum=$sum+$i;

}

echo "1+2+3+4+...+99+100=$sum";

break;

case "option_2":

$i=1;

while($i<=100)

{

$sum=$sum+$i;

$i =$i + 2;

}

echo "1+3+5+...+99=$sum";

break;

case "option_3":

$i=2;

do

{

$sum=$sum+$i;

$i =$i + 2;

}while($i<=100);

echo "2+4+6+...+100=$sum";

break;

case "option_4":

echo "系统的初始总和为:$sum";

break;

}

}

else

{

echo "请选择一个选项";

}

}

?>

实验4 PHP数组

实验目的和要求:

1.掌握PHP的数组声明;

2.掌握PHP的数组定义;

3.掌握PHP数组的遍历和排序;

4.熟练运用数组完成相关的任务。

实验内容:

下载并仔细阅读给定的index.php程序,在网页中录入至少5个学生的个人信息,然后按照学生的成绩高低对该二维数组进行排序,并在网页中显示排序前后的数组内容。

实验预作记录:

1、启动WampServer服务。在www目录下创建index.phh文件,用ultraedit编辑此文件。

2、定义数组$_SESSION[$stuName],并使用array()语言结构创建。使用foreach($_SESSION as $value)对该数组遍历,并显示所有的学生信息。

3、在排序中,先使用foreach($_SESSION as $key=>$value)对该数组进行遍历,把学生的成绩的值赋值给$scored[$key],然后用arsort($scored)函数对所有学生的成绩按照从高到低的顺序进行排序。

4、定义一个空数组$arr,然后用foreach($scored as $key=>$value)进行遍历,把$_SESSION的键值赋给空数组的键值$arr[$key]=$_SESSION[$key],最后把数组$arr 的值打印出来。

5、按照原来数组的结构重构排序后的学生数组,显示所有排序后的学生。在网页中显示排序前后的students数组。

6、修改index.phh中的各种错误,对所编写的程序进行测试,使其能够在浏览器中显示。

7、在浏览器书输入:http://127.0.0.1/观察实验结果。

相关源代码:

核心的二维数组排序函数

function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){

if(is_array($multi_array)){

foreach ($multi_array as $row_array){

if(is_array($row_array)){

$key_array[] = $row_array[$sort_key];

}else{

return false;

}

}

}else{

return false;

}

array_multisort($key_array,$sort,$multi_array);

return $multi_array;

}

$result=multi_array_sort($_SESSION,"stuScore");

foreach($result as $key1=>$value){

//foreach($value as $key2=>$value2){

echo "姓名".$key1."=>"."学号=".$value['stuID']."性别=".$value['stuSex']."成绩=".$value['stuScore'];

echo "
";

//}

}

实验5 PHP数据采集

实验目的和要求:

1、使学生掌握各种Form表单控件的使用;

2、使学生掌握HTML和PHP之间的数据传递;

3、使学生掌握PHP的文件上传;

4、使学生能够灵活运用表单完成各种数据提交任务。

实验内容:

首先完成一个HTML的表单页面,该页面可以实现学生信息的提交功能。提交的信息包括:学生姓名(手动输入),登录密码、确认密码(两种密码需要对比),学生班级(下列列表选择),学生学号(输入),学生性别(单选框),学生的兴趣爱好(多选),学生的头像(需要用文件上传完成),学生的课程成绩,学生的备注信息以及其他信息(自己指定)。

然后设置两个按钮,一个提交,一个重置。

最后把表单采集的数据提交给后台的PHP服务器进行处理,最终可以在网页上显示用户输入的个人所有信息。

有兴趣的学生可以考虑对每个表单输入域的数据进行数据合法性检测。

实验预作记录:

1、设计一个专门用于数据提交的Html表单提交到"register.php",需要在表单开头添加enctype="multipart/form-data",因为表单需要上传文件;

2、学生姓名需要使用单行文本框,设置name="studentname" size="20" maxlength="15";

3、登录密码和确认密码使用密码框,设置密码框size="20" maxlength="15";

4、对学生班级使用下拉列表框,并且只能选择一个select name="grade";

5、学生的学号使用单行文本框,在PHP文件中,需要对提交的学号进行验证,判断是否为整数数字;

6、学生的性别使用单选框,因为性别只能为男或者女name="sex" type="radio

7.学生的兴趣爱好使用复选框,name使用数组的形式name="insterests[]" type="checkbox";

8、学生的备注信息使用多行文本框,