实验1、 HTML练习
实验目的:
使学生掌握超文本标识语言html的基本使用方法。
1、html基本结构
新建一个文件夹用于存放网页,比如在D盘创建一个文件夹xxxweb,以后我们把它作为站点根目录。用记事本编写以上代码,标题和网页主体内容可以适当修改。
<html>
<head>
<title>我的第一个网页</title>
</head>
<body>
少年不识愁滋味,为赋新词强说愁
</body>
</html>
2、文字网页
查看下面的文章按给定的图进行格式化后效果,理解各代码的含义
<html>
<head><title>文字网页</title></head>
<body bgcolor=black>
<p align=center><font color=white">隶书" size=5>琵琶行</font></p>
<hr size=1 color=#ff9933>
<pre><font color=white">隶书" size=4>
浔阳江头夜送客,枫叶荻花秋瑟瑟。主人下马客在船,举酒欲饮无管弦。
醉不成欢惨将别,别时茫茫江浸月。忽闻水上琵琶声,主人忘归客不发。
寻声暗问弹者谁,琵琶声停欲语迟。移船相近邀相见,添酒回灯重开宴。
千呼万唤始出来,犹抱琵琶半遮面。转轴拨弦三两声,未成曲调先有情。
弦弦掩抑声声思,似诉平生不得志;低眉信手续续弹,说尽心中无限事。
轻拢慢捻抹复挑,初为霓裳后《六幺》。大弦嘈嘈如急雨,小弦切切如私语。
嘈嘈切切错杂弹,大珠小珠落玉盘。间关莺语花底滑,幽咽泉流冰下难。
冰泉冷涩弦凝绝,凝绝不通声暂歇。别有幽愁暗恨生,此时无声胜有声。
银瓶乍破水浆迸,铁骑突出刀枪鸣。曲终收拨当心画,四弦一声如裂帛。
东船西舫悄无言,唯见江心秋月白。
沉吟放拨插弦中,整顿衣裳起敛容。 自言本是京城女,家在虾蟆陵下住。
十三学得琵琶成,名属教坊第一部。 曲罢曾教善才服,妆成每被秋娘妒。
五陵年少争缠头,一曲红绡不知数。 钿头银篦击节碎,血色罗裙翻酒污。
今年欢笑复明年,秋月春风等闲度。 弟走从军阿姨死,暮去朝来颜色故。
门前冷落鞍马稀,老大嫁作商人妇。 商人重利轻别离,前月浮梁买茶去。
去来江口守空船,绕船月明江水寒。 夜深忽梦少年事,梦啼妆泪红阑干。
我闻琵琶已叹息,又闻此语重唧唧。 同是天涯沦落人,相逢何必曾相识。
我从去年辞帝京,谪居卧病浔阳城。 浔阳地僻无音乐,终岁不闻丝竹声。
住近湓江地低湿,黄芦苦竹绕宅生。 其间旦暮闻何物?杜鹃啼血猿哀鸣。
春江花朝秋月夜,往往取酒还独倾。 岂无山歌与村笛?呕哑嘲哳难为听。
今夜闻君琵琶语,如听仙乐耳暂明。 莫辞更坐弹一曲,为君翻作琵琶行。
感我此言良久立,却坐促弦弦转急。 凄凄不似向前声,满座重闻皆掩泣。
座中泣下谁最多?江州司马青衫湿。
</font></pre>
<hr size=1 color=#ff9933>
<p><font color=#AFEEEE">宋体" size=3>
《琵琶行》作于唐宪宗元和十一年(公元816年)秋,时白居易四十五岁,任江州司马。白居易在元和十年以前先是任左拾遗,后又任左赞善大夫。元和十年六月,唐朝藩镇势力派刺客在长安街头刺死了宰相武元衡,刺伤了御史中丞裴度,朝野大哗。藩镇势力在朝中的代言人又进一步提出要求罢免裴度,以安藩镇的“反侧”之心。这时白居易挺身而出,坚决主张讨贼,认为否则国将不国。<br> 白居易这种主张本来是对的,但因为他平素写讽喻诗得罪了许多朝廷的权贵,于是有人就说他官小位卑,擅越职分。再加上有人给他罗织罪名,于是贬之为江州司马。江州的州治在今江西省九江市。司马是刺史的助手,听起来也像是不错,但实际上在中唐时期这个职位是专门安置“犯罪”官员的,是变相发配到某地去接受监督看管的。这件事对白居易影响很大,是他思想变化的转折点,从此他早期的斗争锐气逐渐销磨,消极情绪日渐增多。
</font>
</p>
</body>
</html>
3、加入图片
<img src=images/lan.jpg align=left alt="兰花草" hspace=20 vspace=20 width=300 height=200>
4、加入背景音乐
<bgsound src=media/qian.mp3 loop=-1>
5、加入视频
<embed src=media/1.wmv >
6、外部链接
<a href="http://www.dlou.edu.cn" target="_blank"
title="原大连水产学院">大连海洋大学</a>
7、图像链接
<a href=http://www.dlou.edu.cn><img src=images/dlhy.jpg border=0 ></a>
8、表格
打开记事本,写出可以实现下面表格的html代码,并在浏览器中检验。
<table border="1" width="80%" cellspacing="0">
<caption>表格名称</caption>
<tr align=center>
<td width="30%">第一标题列</td><td width="30%">第二标题列</td><td width="40%">第三标题列</td></tr>
<tr><td> </td><td> </td><td> </td></tr>
</table>
9、表单应用
打开记事本,输入如下代码:观看效果,对比表单控件与对应的代码。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="Content-Language" content="zh-cn">
<title>表单实例</title>
</head>
<body>
<form method="POST" action="Reader.html">
<p><b><i>用户情况调查:</i></b></p>
<p>您的姓名:<input type="text" name="UserName" size="20"></p>
<p>您的性别:<input type="radio" name="Sex" value="male" checked>男 <input type="radio" name="Sex" value="female">女</p>
<p>您的购买意向:<select size="1" name="Product">
<option>台式机</option>
<option>笔记本</option>
<option>数码产品</option>
</select></p>
<p>您对本站服务的意见:</p>
<p><textarea name="advice" rows="4" cols="50"></textarea></p>
<p><input type="submit" value="提交4444" name="btnSubmit"><input type="reset" value="全部重写" name="btnReset"></p>
</form>
</body>
</html>
实验2 javascript入门练习
实验目的:
掌握Javascript脚本语言的主要语法及用脚本语言实现流程控制的方法。
一、javascript对象的使用
1、Date对象的使用
<html>
<head>
<title>JavaScript内建Date对象的使用</title>
</head>
<body>
<script language="javascript">
//这里实际上就是定义mydate为一个Date对象
var mydate=new Date();
var year=mydate.getYear();
alert("客户机时间的年份是"+year);
</script>
</body>
</html>
2、document对象的使用
<HTML>
<Head>
<title>document对象的使用方法</title>
</Head>
<body>
<script language="JavaScript">
var test=new Date();
document.write("客户机时间的年份是:"+test.getYear());
</script>
</body>
</HTML>
3、window对象的使用
<HTML>
<Head>
<title>window对象的使用方法</title>
</Head>
<body>
<script language="JavaScript">
//test变量接收window对象的prompt弹出窗口输入的信息
var test=window.prompt("请输入数据:");
//document对象的write方法显示输入的信息
document.write("输入的信息是:"+test);
</script>
</body>
</HTML>
二、流程控制
uJavaScript选择语句的结构
1、 if语句结构:如果条件满足则执行程序段1,否则跳过,这种情况if选择语句的else子句可以用空语句或者省略else子句,语法结构:
If (条件表达式) {
程序段1;
}
2、 If…else语句结构:如果条件满足则执行程序段1,否则执行程序段2,这种情况下可以用if…else语句结构,语法结构:
If (条件表达式) {
程序段1;
}else{
程序段2;
}
3、 If嵌套语句结构:如果If…else语句结构中程序段部分也是由If语句组成就形成了If嵌套语句结构,例如以下为一种嵌套方式:
If (条件表达式) {
If (条件表达式) {
程序段1;
}else{
程序段2;
}
}else{
程序段3;
}
4、 Switch语句结构:适用于根据表达式的不同计算值分别执行不同语句,在该情况下使用Switch语句代替If语句,可以使语句结构更加清晰,结构如下:
Switch (条件表达式) {
Case 值1:程序段1;break;
Case 值2:程序段2;break;
default:程序段1;
}
uJavaScript循环语句的结构
1、 For语句结构:通过定义变量值的起止范围限定循环执行花括号内部语句的次数,一般适用于循环次数比较明确的循环结构,结构如下:
for (初始化;条件;增量){
语句1;
…
}
2、 While语句结构:通过定义循环终止条件设定循环的出口,对于循环次数不明确的复杂情况更加适合采用while循环结构,结构如下:
while (条件){
语句1;
…
}
3、 Do…while语句结构:与While语句功能基本上一样,只是While语句把条件判断放在语句前,而Do…While把条件判断放在语句后,因此Do…While中循环执行的程序段至少会执行一次,结构如下:
do (条件){
语句1;
…
}
u书写选择和循环语句的注意事项
1、 尽量用花括号将程序段括起来。
2、 尽量采用缩进格式书写使结构清晰化。
If结构示例:
<HTML>
<HEAD>
<TITLE>自动问候</TITLE>
</HEAD>
<BODY>
<script language="JavaScript">
var nowtime=new Date();
//获取当前日期
var now_hour=nowtime.getHours();
//从日期对象中获取当前小时
if ((now_hour>=0) && (now_hour<6)){
document.write("你不会是熬通宵吧,别太辛苦哦!");
}else if ((now_hour>=6) && (now_hour<8)){
document.write("早上好!");
}else if ((now_hour>=8) && (now_hour<11)){
document.write("上午好!");
}else if ((now_hour>=11) && (now_hour<13)){
document.write("午饭吃过了吗?");
}else if ((now_hour>=13) && (now_hour<17)){
document.write("下午好!");
}else if ((now_hour>=17) && (now_hour<24)){
document.write("晚上好!");
}
</script>
</BODY>
</HTML>
练习1:计算个人所得税
任务描述:
个人所得税的计算规则是将个人月应纳税所得额×适用税率-速算扣除数。
纳税起点=1200元
月应纳税所得额 = 个人月收入- 纳税起点(元)
月应纳税额 = 月应纳税所得额×适用税率-速算扣除数
个人所得税税率表(工资、薪金所得适用)
级数 | 全月应纳税所得额 | 税率(%) | 速算扣除数(元) |
1 | 不超过500元的 | 5 | 0 |
2 | 超过500元至2000元的部分 | 10 | 25 |
3 | 超过2000元至5000元的部分 | 15 | 125 |
4 | 超过5000元至20000元的部分 | 20 | 375 |
5 | 超过20000元至40000元的部分 | 25 | 1375 |
6 | 超过40000元至60000元的部分 | 30 | 3375 |
7 | 超过60000元至80000元的部分 | 35 | 6375 |
8 | 超过80000元至100000元的部分 | 40 | 10375 |
9 | 超过100000元的部分 | 45 | 15375 |
按照以上计算规则,请用JavaScript程序计算月收入为24万元每月必须交纳多少个人所得税。
基本概念与原理:
速算扣除数是为了方便进行计算而事先计算好的数值,例如纳税所得额为1800元,在500至1800元的区间范围使用10%的税率,另外500元使用5%的税率,这样总的纳税额的计算方法应该是:
(1800-500)*10%+500*5%
=1800*10%-500*5%
=1800*10%-25
同样的道理如果纳税额为3800元,那么计算方法应该是:
(3800-2000)*15%+(2000-500)*10%+500*5%
=3800*15%-2000*5%-500*5%
=3800*15%-125
可以知道,可以直接用月纳税所得额乘以当前税率然后减去一个常数获得纳税额。这个常数就是速算扣除数
输入参数可以采用prompt输入框,使用方法是prompt(“输入提示标题”,”初始值”)。
输出结果通常有两种办法,一种是用document.write方法输出到文档中,还有一种是用alert方法弹出窗口。
在网页中可以将JavaScript代码嵌入<Script language=”JavaScript”></Script>脚本标记中,保存网页后,用浏览器打开网页JavaScript代码就会自动运行。
使用JavaScript程序来计算个人所得税的关键是根据个人纳税所得额的大小不同作出不同的计算。最直观的方法是采用选择语句,判断出纳税所得额所处在的税率级别,然后根据相应的税率和速算扣除数计算出月纳税额。例如需要计算500到2000元纳税所得额的个人所得税的计算方法为:
if ((v3<=2000) && (v3>500)){
tempTax=v3*10%-25;
}
程序答案:
<HTML>
<HEAD>
<TITLE>计算个人所得税</TITLE>
</HEAD>
<BODY>
<script language="JavaScript">
//定义一个计算所得税的函数
//输入:个人月收入
//返回:应交纳的税
function CaculateTax(v2){
//起征基数
var v1=1200;
//存放临时结果
var tempTax=0;
//计算v3为月应纳税所得额
var v3=v2-v1;
if(v3<=0){
tempTax="0";
return tempTax;
}
if(v3<=500){
tempTax=v3*0.05;
return tempTax;
}
if(v3<=2000){
tempTax=v3*0.1-25;
return tempTax;
}
if(v3<=5000){
tempTax=v3*0.15-125;
return tempTax;
}
if(v3<=20000){
tempTax=v3*0.2-375;
return tempTax;
}
if(v3<=40000){
tempTax=v3*0.25-1375;
return tempTax;
}
if(v3<=60000){
tempTax=v3*0.3-3375;
return tempTax;
}
if(v3<=80000){
tempTax=v3*0.35-6375;
return tempTax;
}
if(v3<=100000){
tempTax=v3*0.4-10375;
return tempTax;
}
if (v3>100000){
tempTax=v3*0.45-15375;
return tempTax;
}
}
//调用函数计算个人所得税
alert("24万月薪需要缴纳"+CaculateTax(240000)+"元");
</script>
</BODY>
</HTML>
例2 利用for循环计算从1累加到100
<HTML>
<HEAD>
<TITLE>从1累加到100</TITLE>
</HEAD>
<BODY>
<script language="JavaScript">
//采用for循环实现从1累加到100
//定义临时变量j存储求和结果
//初始值赋为0
var j=0;
//循环变量i在循环中直接定义
//i从1开始到100结束
//每次循环完毕自动加1
//循环体为将i累加到变量j
for(var i=1;i<=100;i++){
j=j+i;
}
alert(j);
//弹出窗口显示累加结果
</script>
</BODY>
</HTML>
练习2接下来使用另外两种方法while和do…while来实现从1累加到100的和
<script language="javascript">
var i=1;
var j=0;
while (i<=100){
j=j+i;
i++;
}
document.write(j);
</script>
<script language="javascript">
var i=1;
var j=0;
do{
j=j+i;
i++;
}while (i<=100)
document.write(j);
</script>
实验3、php基础知识
实验目的:
掌握PHP语言环境配置和常量、变量的用法。
一、安装appserv软件
1、测试php环境是否搭建成功
2、卸载 appserv,重新安装一次。
3、登录phpmyadmin图形化管理工具
用户名黙认是root,密码是安装时输入的密码。
4、浏览php环境配置说明
5、编写第一个php应用程序,名为:3.1.php并运行。
<html>
<head>
<title>第一个PHP程序</title>
</head>
<body>
<?php
echo "欢迎进入PHP的世界!!" ;
?>
</body>
</html>
二、情景应用拓展
1、 输出系统的当前时间,名为:3.2.1.php
<?php
echo "UTC时间:".date("Y-m-d H:i:s"); //显示默认的UTC时间
date_default_timezone_set("PRC"); //使用中华人民共和国的时区
echo "<br>";
echo "北京时间:".date("Y-m-d H:i:s"); //输出北京时间
echo "<br>";
echo "当前时区:".date_default_timezone_get(); //获取当前时区
?>
2、 输出一个图片,名为: 3.2.2.php
<?php
echo'<img src="images/03.jpg" width="98" height="98" />';
?>
三、变量定义
1、局部变量3.3.1.php
<?php
function local(){
// 在函数内部声明一个变量a并赋值
$a = "local variable";
echo "函数内部变量a的值为".$a."<br>";
}
//调用函数local(),用来打印出变量a的值
local();
//在函数外部再次声明变量a并赋另一个值
$a = "outside variable.";
echo "函数外部变量a的值为".$a;
?>
2、全局变量3.3.2.php
<?php
$a = "outside"; // 定义一个变量a
// 定义一个函数local
function local(){
global $a; // 将变量a声明为全局变量
echo "在local函数内部获得变量a的值为".$a."<br>";
global $b; // 将变量b声明为全局变量
$b = "inside"; // 在local函数内部对变量b进行赋值
}
local(); // 调用函数local,用于输出local函数内部变量a的值
echo "在local函数外部获得变量b的值为".$b; // 在函数local外部输出变量b的值
?>
3、静态变量3.3.3.php
<?php
function test(){
static $a = 0; // 定义一个静态变量a并赋初始值为0
echo $a."<br>"; // 输出变量a的值
$a = $a+1; // 将变量a的值加1再次赋给变量a
}
test(); // 调用函数test()
test();
test();
echo $a; // 变量a的生命周期结束,不会输出任何值
?>
4、可变变量3.3.4.php
<?php
$a = "Hello"; // 定义一个变量a并赋值为Hello
$$a = "World"; // 定义一个可变变量,该变量名称为变量a的值
echo $a."<br>"; // 输出变量a的值
echo $$a."<br>"; // 输出可变变量的值
echo $Hello; // 输出可变变量值的另一种方式
?>
四、变量赋值
1、传值赋值3.4.1.php
<?php
$a = 33;
$b = $a;
$b = 44;
echo "变量a的值为".$a."<br>";
echo "变量b的值为".$b;
?>
2、引用赋值3.4.2.php
<?php
$a = 33;
$b = &$a;
$b = 44;
echo "变量a的值为".$a."<br>";
echo "变量b的值为".$b;
?>
五、常量3.5. php
<?php
define("COLOR","red"); // 定义一个常量COLOR,值为red
echo COLOR."<br>"; // 输出常量COLOR的值
echo color."<br>"; // 由于格式不正确,不能正确输出常量COLOR的值
define("SHAPE","round",TRUE); //定义一个常量SHAPE,值为round,不区分名称大小写
echo shape."<br>"; // 输出常量SHAPE的值
echo SHape; // 输出常量SHAPE的值
?>
六、常见系统设置
1、解析php环境搭建的四大目录,调整站点的根目录为D:\www.
修改httpd.conf:
(DocumentRoot "D:/www";)
# This should be changed to whatever you set DocumentRoot to.
<Directory "D:/www">
2、更改Apache的服务器端口号为82,重新运行第一个应用程序。
打开httpd.conf文件,定位到listen将后面的值改为82,重启apache服务。以新的端口测试。
实验4、函数与数组应用
实验目的:
使学生掌握PHP函数和数组的使用方法。
一、函数
1、 函数的定义和调用
创建一个不含参数输出“北京奥运会”的函数,并且使用此函数
<?
function foo(){
echo "北京奥运会";
}
foo()
?>
2、按值传递参数和引用传递
分别用按值传递参数和引用传递两种方式执行$a=$a+1,输出a的值比较两者的区别。
(1)按值传递
<?php
$a=1;
function add ($a){
$a=$a+1;
echo $a."<br>";
}
add($a);
echo $a;
?>
(2)引用传递
<?php
$a=1;
function add (&$a){
$a=$a+1;
echo $a."<br>";
}
add($a);
echo $a;
?>
3、递归调用
使用递归计算5的阶层
<?php
function recurser($n)
{
if($n==0)
return 1;
else
return $n* recurser($n-1);
}
$text=recurser(5);
echo $text;
?>
3、str_ireplace函数应用
str_ireplace() 函数使用一个字符串替换字符串中的另一些字符。
格式:str_ireplace(find,replace,string)
参数 | 描述 |
find | 必需。规定要查找的值。 |
replace | 必需。规定替换 find中的值的值。 |
string | 必需。规定被搜索的字符串。 |
例子:
<?php
echo str_ireplace("world","John","Hello world!");
?>
练习:有一段话如下,编程实现“将见贤思齐焉,见不贤而内自省也。”变成红色,将《论语》变为孔子。str_ireplace函数实现。
见贤思齐焉,见不贤而内自省也。 ——《论语》
译:见到有人在某一方面有超过自己的长处和优点,就虚心请教,认真学习,想办法赶上他,和他达到同一水准;见有人存在某种缺点或不足,就要冷静反省,看自己是不是也有他那样的缺点或不足。
<?php
$content="<pre> 见贤思齐焉,见不贤而内自省也。 ——《论语》
译:见到有人在某一方面有超过自己的长处和优点,就虚心请教,认真学习,
想办法赶上他,和他达到同一水准;见有人存在某种缺点或不足,就要冷静反省,
看自己是不是也有他那样的缺点或不足。</pre>";
$str="见贤思齐焉,见不贤而内自省也"; //定义查询的字符串常量
$content1=str_ireplace($str,"<font color='#FF0000'>".$str."</font>",$content)."<br>"; //替换字符串为红色字体
echo str_ireplace("《论语》","孔子",$content1);
?>
二、数组
1、数组的创建
(1)使用赋值创建数组
将字符串ASP、PHP、JSP赋给名为languages的数组,然后分别输出这三个元素。
<?php
$languages[]="ASP";
$languages[]="PHP";
$languages[]="JSP";
echo $languages[0]."<br>",
echo $languages[1]."<br>",
echo $languages[2];
?>
(2)使用array()函数
使用array定义数组,将字符串apple、banana、orange作为数组$fruit的三个元素,并输出元素值
<?php
$fruit=array("apple","banana","orange");
echo $fruit[0]."<br>";
echo $fruit[1]."<br>";
echo $fruit[2]."<br>"
?>
(3)用字符串做键名
创建数组$arr,将元素新浪、网易、腾讯、雅虎分别赋予键名a、b、c、0
<?php
$arr = array("a" => "新浪","b"=>"网易", "c" => "腾讯", "雅虎");
echo $arr['a']."<br>";
echo $arr['b']."<br>";
echo $arr['c']."<br>";
echo $arr[0]."<br>";
?>
2、数组的输出:
(1)打印变量var_dump()
<?php
$a=array( 1, 2, array("a","b", "c") );
var_dump($a);
?>
(2)输出数组 print_r()
<?
$foo = array("bob", "fred","jussi", "jouni", "egon","marliese" );
print_r($foo)
?>
3、遍历数组
(1)foreach实现
建立一个数组$url,元素分别是:www.sina.com、www.yahoo.com、www.163.com、www.qq.com、www.baidu.com,对应的键名分别是,新浪、雅虎、网易、腾讯、百度,用foreach遍历数组元素
<?php
$url = array('新浪'=>'www.sina.com',
'雅虎'=>'www.yahoo.com',
'网易'=>'www.163.com',
'腾讯'=>'www.qq.com',
'百度'=>'www.baidu.com');
foreach ( $url as $link ) {
echo $link.'<br>';
}
?>
(2) for实现
利用for语句遍历含数组元素为北京、天津、上海、深圳的数组$Cities,实现数组的输出
<?
$Cities[] = "<B>北京</B>";
$Cities[] = "<B>天津</B>";
$Cities[] = "<B>上海</B>";
$Cities[] = "<B>深圳</B>";
$indexLimit = count($Cities);
for($index=0; $index < $indexLimit; $index++)
{
print("第 $index 个城市是 $Cities[$index]。 <BR>");
}
?>
4、数组的查找、计数、排序
(1)查找
定义数组$a,其元素值为(a、b、c、d、e、f),并查找数组中是否含有变量$a。如果含有,则返回其位置;如果不含则输出“在数组a中未发现字符’a’”。
<?php
$a = array("a","b","c","d","e","f");
$index = array_search("a",$a);
if($index === false)
echo "在数组a中未发现字符'a'";
else
echo "Index = $index";
?>
(2)计数
定义数组$a元素值分别为(1、3、5),利用count()函数计算数组元素数目。
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result1 = count($a);
echo "$result1;
?>
(3)排序
定义$languages数组,数组元素为(ASP、PHP、JSP),对应键名为(10、20、21),利用函数asort和rsort进行元素排序,比较函数两者的差异。
<?php
$languages=array(10=>"ASP",20=>"PHP", 21=>"JSP");
asort($languages);
print_r($languages);
rsort($languages);
print_r($languages);
?>
综合练习:
1、将数字1,1.2,-2.3,90.25放进一个数组中,输出其元素个数,然后分别按升序和降序排列,并输出排列后的结果。
<?php
$numb=array(1,1.2,-2.3,90.25);
echo "数组\$numb的元素个数:".count($numb)."<br>";
echo "数组元素值:<br>"; print_r($numb); echo "<br>";
echo "数组的各元素之和:<br>".array_sum($numb)."<br>";
asort($numb);
echo "排序结果:<br>"; print_r($numb); echo "<br>";
rsort($numb);
echo "排序结果:<br>"; print_r($numb); echo "<br>";
?>
2、定义一个一维索引数组colors,并为其添加8个数组元素:purple、red、blue、black、yellow、green、white、gray,编程实现更新数组colors中的第1个数组元素为brown,编程实现删除数组colors中的第7个数组元素,编程实现遍历数组colors并显示遍历结果。
<?PHP
$colors=array();
$colors[0]="purple";
$colors[1]="red";
$colors[2]="blue";
$colors[3]="black";
$colors[4]="yellow";
$colors[5]="green";
$colors[6]="white";
$colors[7]="gray";
$colors[0]="brown";
unset($colors[6]);
foreach($colors as $value){
echo $value." ";
}?>
实验5、PHP表单处理
实验目的:
使学生掌握PHP中表单控件的使用方法。
例:表单处理
例、使用PHP处理一周内的活动安排,其活动内容为:“星期一:看比赛,星期二:去上班,星期三:旅游,星期四:运动,星期五:读书,星期六:交友,星期日:看电影”。
5-1.html
<html>
<head>
<title>
一周活动
</title>
</head>
<body>
本周安排:<br>
<form method=post action="tijiao.php">
<select name="bmonth">
<option value="看比赛" selected>星期一</option>
<option value="去上班">星期二</option>
<option value="旅游">星期三</option>
<option value="运动">星期四</option>
<option value="读书">星期五</option>
<option value="交友">星期六</option>
<option value="看电影">星期日</option>
</select>
<input type="submit" name="submit" value="提交">
<input type="reset" name="reset" value="重填">
<form><
</body>
</html>
tijiao.php
<?php
echo "今天的活动是:";
echo $_POST['bmonth']. "<br>对吗?";
?>
<p>
<a href="5-1.html">返回 </a>
练习1:
5.1.1.php、利用下拉列表选择出生年月(2000—2008年),选择日期2008年8月8号,并处理提交的信息,显示生日。
5.1.2.php创建个人信息表单,选择所在的学校,填写学生个人信息。填写姓名、学号等,学号必须为数字,并处理所提交的信息。三者不能为空,学号必须为数字。
学生信息为:北京师大 张三 200801。
所选的学校有:北京大学,清华大学,北京师大,中国人大,北京理工。
<html>
<head>
<title>个人信息表单</title>
</head>
<body>
<form action="action.php" method="POST">
请选择你的学校名称:
<hr><p>
<input type="radio" name="college" value="北京大学"> 北京大学
<input type="radio" name="college" value="清华大学"> 清华大学
<input type="radio" name="college" value="北京师大"> 北京师大
<input type="radio" name="college" value="中国人大"> 中国人大
<input type="radio" name="college" value="北京理工"> 北京理工
<input type="radio" name="college" value="北航"> 北航
<input type="radio" name="college" value="其他"> 其他
</p>
<p> 姓名: <input name="student" type="text" size="20" maxlength="20"></p>
<p> 学号: <input name="numb" type="text" size="20" maxlength="20"></p>
<p> <input name="submit" type="submit" value="提交">
<input name="reset" type="reset" value="重置">
</p>
</form>
</body>
</html>
实验6、PHP文件操作
实验目的:
使学生掌握PHP中的文件操作方法。
一、从文件中读取数据5.2.php
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td >使用readfile()函数读取文件内容:</td>
<td><?php readfile('tm.txt'); ?></td>
</tr>
<tr> <td >使用file()函数读取文件内容:</td>
<td >
<?php
$f_arr = file('tm.txt');
foreach($f_arr as $cont){
echo $cont."<br>";
}
?>
</td>
</tr>
<tr>
<td >使用file_get_contents()函数读取文件内容:</td>
<td >
<?php
$f_chr = file_get_contents('tm.txt');
echo $f_chr;
?>
</td>
</tr>
</table>
二、将数据写入文件5.3.php
<?php
$filepath = "05.txt";
$str = "此情可待成追忆 只是当时已惘然<br>";
echo "用fwrite函数写入文件:";
$fopen = fopen($filepath,'wb') or die('文件不存在');
fwrite($fopen,$str);
fclose($fopen);
readfile($filepath);
echo "<p>用file_put_contents函数写入文件:";
file_put_contents($filepath,$str);
readfile($filepath);
?>
三、浏览目录5.4.php
<?php
$path = 'c:\AppServ';
if(is_dir($path)){
$dir = scandir($path);
foreach($dir as $value){
echo $value."<br>";
}
}else{
echo "目录路径错误!";
}
?>
四、删除文件5.5.php
<?php
unlink('c:\test.txt');
?>
五、文件上传
1、 单文件上传t5.6.1.php
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input name="upload" type="file"></br>
<input type="submit" value="上传">
</form>
upload.php
<?php
$fname=$_FILES['upload']['name'];
echo"上传文件的名称:".$fname."<br>";
$ftype=$_FILES['upload']['type'];
echo"上传文件的类型:".$ftype."<br>";
$fsize=$_FILES['upload']['size'];
echo"上传文件的字节数:".$fsize."<br>";
$ferror=$_FILES['upload']['error'];
echo"上传文件过程中的错误:".$ferror."<br>";
if(move_uploaded_file($_FILES['upload']['tmp_name'],"c:/".$fname)){
echo"上传成功";
}else echo"上传失败" ;
?>
2、 多文件上传5.6.2.php
<form enctype="multipart/form-data" action="uploadfile.php" method="POST">
<table>
<tr> <td>文件1:</td><td><input name="upload[]" type="file"></td></tr>
<tr> <td>文件1:</td><td><input name="upload[]" type="file"></td></tr>
<tr><td>文件1:</td><td><input name="upload[]" type="file"></td></tr>
<tr align="right"><td><input type="submit" value="提交"></td><td align="left"><input type="reset" value="重置"></td> </tr>
</table>
</form>
uploadfile.php
<?php
foreach ($_FILES['upload']['name'] as $index=>$name){
if(move_uploaded_file($_FILES['upload']['tmp_name'][$index],’c:\’.$fname)){
echo"上传成功";
}else echo"上传失败" ;}?>
实验7、 phpmyadmin管理mysql数据库方法
实验目的:
掌握mysql数据库的基本操作。
一、使用phpmyadmin管理数据库
1、操作数据库:创建、修改、删除
2、操作数据表:创建、修改、删除
3、管理数据记录:插入、浏览、搜索
4、生成和执行mysql数据库脚本
二、
1 用mysql_connect()创建与MySQL服务器的连接t1.php
$link = mysql_connect("localhost", "root", "999999") or die("不能连接到数据库服务器!可能是数据库服务器没有启动,或者用户名密码有误!".mysql_error()); //连接Mysql服务器
if($link){
echo "数据源连接成功!";
}
?>
2、mysql_select_db()选择MySQL数据库t2.php
$link = mysql_connect("localhost", "root", "999999") or die("不能连接到数据库服务器!可能是数据库服务器没有启动,或者用户名密码有误!".mysql_error()); //连接Mysql服务器
$db_selected=mysql_select_db("db_database18",$link);
if($db_selected){
echo "数据库选择成功!";
}
?>
3、使用mysql_query()函数执行sql语句
Select 、insert into 、update、delete。
实验8、利用PHP代码操作mysql数据库
实验目的:
掌握用PHP代码操作mysql数据库基本技术。
1、应用mysql_fetch_array()函数从数组结果集中获取信息t4.php
<table align="center" border="1">
<tr align="center" width=100%>
<form name="myform" method="post" action="">
请输入图书名称
<input name="txt_book" type="text" id="txt_book" size="25" >
<input type="submit" name="Submit" value="查询">
</form>
</tr>
<tr align="center" bgcolor="#CC99FF">
<td width="46" height="20">编号</td>
<td width="167">图书名称</td>
<td width="90">出版时间</td>
<td width="70">图书定价</td>
<td width="78">作者</td>
<td width="114">出版社</td>
</tr>
<?php
$link=mysql_connect("localhost","root","999999") or die("数据库连接失败".mysql_error());
mysql_select_db("db_database18",$link);
mysql_query("set names gb2312");
$sql=mysql_query("select * from tb_book");
$info=mysql_fetch_array($sql);
if ($_POST[Submit]=="查询"){
$txt_book=$_POST[txt_book];
$sql=mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'"); //如果选择的条件为"like",则进行模糊查询
$info=mysql_fetch_array($sql);
}
if($info==false){ //如果检索的信息不存在,则输出相应的提示信息
echo "<div align='center' style='color:#FF0000; font-size:12px'>对不起,您检索的图书信息不存在!</div>";
}
do{
?>
<tr align="left" bgcolor="#FFFFFF">
<td height="20" align="center"><?php echo $info[id]; ?></td>
<td ><?php echo $info[bookname]; ?></td>
<td align="center"><?php echo $info[issuDate]; ?></td>
<td align="center"><?php echo $info[price]; ?></td>
<td align="center"><?php echo $info[maker]; ?></td>
<td><?php echo $info[publisher]; ?></td>
</tr>
<?php
}while($info=mysql_fetch_array($sql));
?>
</table>
2、应用mysql_fetch_object()函数从数组结果集中获取信息t5.php
<table align="center" border="1">
<tr align="center" width=100%>
<form name="myform" method="post" action="">
请输入图书名称
<input name="txt_book" type="text" id="txt_book" size="25" >
<input type="submit" name="Submit" value="查询">
</form>
</tr>
<tr align="center" bgcolor="#CC99FF">
<td width="46" height="20">编号</td>
<td width="167">图书名称</td>
<td width="90">出版时间</td>
<td width="70">图书定价</td>
<td width="78">作者</td>
<td width="114">出版社</td>
</tr>
<?php
$link=mysql_connect("localhost","root","999999") or die("数据库连接失败".mysql_error());
mysql_select_db("db_database18",$link);
mysql_query("set names gb2312");
$sql=mysql_query("select * from tb_book");
$info=mysql_fetch_object($sql);
if ($_POST[Submit]=="查询"){
$txt_book=$_POST[txt_book];
$sql=mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'"); //如果选择的条件为"like",则进行模糊查询
$info=mysql_fetch_object($sql);
}
if($info==false){ //如果检索的信息不存在,则输出相应的提示信息
echo "<div align='center' style='color:#FF0000; font-size:12px'>对不起,您检索的图书信息不存在!</div>";
}
do{
?>
<tr align="left" bgcolor="#FFFFFF">
<td height="20" align="center"><?php echo $info->id; ?></td>
<td ><?php echo $info->bookname; ?></td>
<td align="center"><?php echo $info->issuDate; ?></td>
<td align="center"><?php echo $info->price; ?></td>
<td align="center"><?php echo $info->maker; ?></td>
<td><?php echo $info->publisher; ?></td>
</tr>
<?php
}while($info=mysql_fetch_object($sql));
?>
</table>
3、应用mysql_fetch_row()函数从数组结果集中获取信息t6.php
<table align="center" border="1">
<tr align="center" width=100%>
<form name="myform" method="post" action="">
请输入图书名称
<input name="txt_book" type="text" id="txt_book" size="25" >
<input type="submit" name="Submit" value="查询">
</form>
</tr>
<tr align="center" bgcolor="#CC99FF">
<td width="46" height="20">编号</td>
<td width="167">图书名称</td>
<td width="90">出版时间</td>
<td width="70">图书定价</td>
<td width="78">作者</td>
<td width="114">出版社</td>
</tr>
<?php
$link=mysql_connect("localhost","root","999999") or die("数据库连接失败".mysql_error());
mysql_select_db("db_database18",$link);
mysql_query("set names gb2312");
$sql=mysql_query("select * from tb_book");
$row=mysql_fetch_row($sql);
if ($_POST[Submit]=="查询"){
$txt_book=$_POST[txt_book];
$sql=mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'"); //如果选择的条件为"like",则进行模糊查询
$row=mysql_fetch_row($sql);
}
if($row==false){ //如果检索的信息不存在,则输出相应的提示信息
echo "<div align='center' style='color:#FF0000; font-size:12px'>对不起,您检索的图书信息不存在!</div>";
}
do{
?>
<tr align="left" bgcolor="#FFFFFF">
<td height="20" align="center"><?php echo $row[0]; ?></td>
<td ><?php echo $row[1]; ?></td>
<td align="center"><?php echo $row[2]; ?></td>
<td align="center"><?php echo $row[3]; ?></td>
<td align="center"><?php echo $row[4]; ?></td>
<td><?php echo $row[5]; ?></td>
</tr>
<?php
}while($row=mysql_fetch_row($sql));
?>
</table>
4、应用mysql_num_rows()函数获取查询结果集中的记录数t7.php
<?php $nums=mysql_num_rows($sql);
echo "找到相关记录".$nums."条";?>
实验9、PHP留言系统前台用户功能的实现
实验目的:
掌握PHP留言系统前台用户开发方法,及主要代码的功能。
一、页面结构图
二、数据库结构
库名:guest_book
表contents
字段名称 | 代表意义 | 类型 | 长度 | 备注 |
id | 留言者流水账号 | int | | 主键auto_increment |
name | 留言者姓名 | varchar | 20 | |
content | 留言内容 | mediumtext | | |
表admin
字段名称 | 代表意义 | 类型 | 长度 | 备注 |
admin_name | 管理员用户名 | varchar | 15 | Not null |
admin_password | 管理员密码 | varchar | 20 | Not null |
三、页面代码
1、编写首页文件 index.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>留言本</title>
</head>
<body>
<div align="right"><a href="admin_login.htm" tagert="_blank" >
<font size="5"">隶书" >留言板管理 </font></a> </div>
<div align="center"><font">黑体"><h2>PHP学习交流留言板 </h2></font></div>
<?
$conn=mysql_connect ("localhost", "root", "999999"); //打开MySQL服务器连接
mysql_select_db("guest_book"); //链接数据库
mysql_query("set names GB2312"); //解决中文乱码问题
$pageSize = 2;
$pageNumber = $_GET[ 'pageNumber' ];
if( $pageNumber == null ) $pageNumber = 1;
$totalCount = mysql_num_rows( mysql_query("select * from contents") );
$exec="select * from contents limit " . ( ( $pageNumber - 1 ) * $pageSize ) . ", 2" ; //sql语句
$result=mysql_query($exec); //执行sql语句,返回结果
while($rs=mysql_fetch_object($result))
{
echo "<table><tr><td>姓名:".$rs->name."</td></tr>";
echo "<tr><td>留言:".$rs->content."</td></tr></table><br/>";
echo "..............................................................................................";
echo "<br>";
}
if( $pageNumber > 1 ){
echo "<a href=index.php?pageNumber=" . ( $pageNumber - 1 ) . ">前一页</a>";echo"  ";
}else{
echo "前一页  ";
}
if( $pageNumber < $totalCount / $pageSize ) {
echo "<a href=index.php?pageNumber=" . ( $pageNumber + 1 ) . ">后一页</a>";
}else{
echo "后 一页";
}
mysql_close();
?>
<div align="CENTER"><a href="message_post.html" tagert="_blank" >
<font size="6"">隶书" ><p> 我要留言 </font></a> </div>
</body>
</html>2、编写留言提交文件 message_post.html
<form action="updata.php" method="post" name="name1">
<table cellspacing=0 bordercolordark=#FFFFFF width="60%" bordercolorlight=#000000 border=1 align="center" cellpadding="2">
<tr bgcolor="#6b8ba8" style="color:FFFFFF">
<td width="100%" align="center" valign="bottom" height="19" colspan="2">访问者留言</td>
</tr>
<tr>
<td width="30%" align="center" height="30">留言人:</td>
<td width="70%" height="30"><input type="text" name="user" size="20" maxlength="21"></td>
</tr>
<tr>
<td height="80" align="center" width="30%" >留言内容: </td>
<td height="80" width="70%">
<textarea name="post_contents" rows="10" cols="50"></textarea>
</td>
</tr>
<tr>
<td height="25" colspan="2" align="center">
<input type="reset" value="重置留言">
<input type="submit" value="提交留言">
</tr>
</table>
</form>
3、留言处理 update.php
<?
$name=$_POST['user'];
$content=$_POST['post_contents'];
$conn=mysql_connect("localhost", "root", "999999");
mysql_query("set names GB2312");
mysql_select_db("guest_book");
$exec="insert into contents (name,content) values ('".$_POST['user']."','".$_POST['post_contents']."')";
$result=mysql_query($exec);
if( $result>0)
echo "添加留言成功,谢谢你的留言!" ;
else
echo "添加留言失败";
echo "<p><a href=index.php ><center>返回主页面</center></a>";
mysql_close();
?>
<html><head><meta http-equiv='Refresh' content='3; URL=index.php'></head>
<body><p>谢谢您对本站的支持,三秒后将自动返回……</p></body></html>
实验10、PHP留言系统后台管理员功能的实现
1、编写管理员后台登录文件 admin_login.html
<html>
<title>后台管理
</title>
<body>
<center><font">黑体"><h2>管理登陆</h2></font>
<form action="admin_check.php" method="post" name="form2">
管理员账号:<input type="text" name="admin_name"><br>
管理员密码:<input type="password" name="admin_password"><br>
<input type="submit" value="发 送">
<input type="reset" value="重 置">
</center>
</form>
</body>
</html>
2、编写管理员身份验证文件 admin_check.php
<?
session_start();
$admin_name=$_POST['admin_name'];
$admin_password=$_POST['admin_password'];
$conn=mysql_connect ("localhost", "root", "999999");
mysql_select_db("guest_book");
$exec="select * from admin where admin_name='".$admin_name."'";
$result=mysql_query($exec);
if ($rs=mysql_fetch_object($result))
{
if ($rs->admin_password==$admin_password)
{
$_SESSION['admin']="OK";
//echo "<script language='javascript'>window.location.href='admin_index.php';</script>";
header("location:admin_index.php");
}
else echo "密码不正确";
}
else echo "用户名不正确";
mysql_close();
?>
3、编写后台管理首页文件 admin_index.php
<html>
<title>后台管理</title>
<body>
<center><h2>后台管理页面</h2></center>
<?
session_start();
if($_SESSION['admin']=="OK")
{
$conn=mysql_connect ("localhost", "root", "999999");
mysql_query("set names GB2312"); //解决中文乱码问题
mysql_select_db("guest_book");
$exec="select * from contents";
$result=mysql_query($exec);
while($rs=mysql_fetch_object($result))
{
echo "<table><tr><td>姓名:".$rs->name."</td></tr>";
echo "<tr><td>留言:".$rs->content."</td></tr></table><br>";
echo "<a href=modify.php?id=".$rs->id." >修改</a> <a href=delete.php?id=".$rs->id." >删除</a>";
echo "<br><br>";
}
echo "<br><a href=index.php ><center>回首页</center></a>";
}
mysql_close();
?>
</body>
</html>
4、编写修改文件 modify.php
<html>
<title>修改留言</title>
<body>
<h2><center>留言修改</center></h2>
<?
session_start();
if($_SESSION['admin']=="OK")
{
$conn=mysql_connect ("localhost", "root", "999999");
mysql_query("set names GB2312"); //解决中文乱码问题
mysql_select_db("guest_book");
$exec="select * from contents where id=".$_GET['id']; /*这里这个$_GET['id']就是取得从那个连接传递过来的参数 */
$result=mysql_query($exec);
$rs=mysql_fetch_object($result);
$name=$rs->name;
$content=$rs->content;
$id=$rs->id;
?>
<form action="modify2.php" method="post" name="name1">
I D : <?=$id?><input type=hidden name=id value=<?=$id?> > <br>
姓名: <?=$name?><br>
留言: <textarea name="post_contents" rows="10" cols="50"><?=$content?></textarea>
<input type="submit" value="提交修改">
</form>
<?
}
mysql_close();
?>
</body>
</html>
5、编写修改内容保存文件 modify2.php
<?
session_start();
if($_SESSION['admin']=="OK")
{
$conn=mysql_connect ("localhost", "root", "999999");
mysql_query("set names GB2312"); //解决中文乱码问题
mysql_select_db("guest_book");
$exec="select * from contents where id=".$_GET['id'];
$exec="update contents set content='".$_POST['post_contents']."' where id=".$_POST['id'];
$result=mysql_query($exec);
}
mysql_close();
header("location:admin_index.php");
?>
6、编写删除文件delete.php
<?
session_start();
if($_SESSION['admin']=="OK")
{
$conn=mysql_connect ("localhost", "root", "999999");
mysql_select_db("guest_book");
$exec="delete from contents where id=".$_GET['id'];
mysql_query($exec);
mysql_close();
}
header("location:admin_index.php")
?>