php实验4

实验04 PHP数组与字符串
实验目的
(1)掌握PHP中处理数组数据的方法; (2)掌握PHP中进行字符串操作的方法;
(3)掌握PHP中正则表达式的使用方法;
实验准备
(1)了解PHP中数组的键和键值的概念; (2)了解操作字符串的各类函数;
(3)了解有关正则表达式的基础知识和Perl兼容正则表达式语法;
实验内容
一、完成教材P119~121例4.2(文件命名为SY4_4.php

  1. 将红色线圈起来的代码行去掉,将蓝色线圈起来的代码行改成PHP嵌入HTML
  2. 将绿色线圈起来的代码行去掉,改为用foreach 遍历PHP全局数组$_POST,用可变变量(数组)的方法。

二、完成教材P128~129例4.3(文件命名为SY4_5.php)–字符串的操作

  1. 输入Email地址:369@163.com 输入留言:我觉得PHP是个很有趣的东西,我要好好钻研钻研,我要成为PHP设计高手! 验证程序的正确性
  2. 输入Email地址:369@163.com 输入留言: 观察运行结果 分析原因
    三、完成教材P321~323【实验4.3】(文件命名为SY4_3.php)–正则表达式的应用

四、完成教材P318~319【实验4.1】(文件命名为SY4_1.php)
五、完成教材P320~321【实验4.2】(文件命名为SY4_2.php)

实验结果提交
登录教育在线,将各题的.php文件提交。

(1)sy4_1.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">

<title>排序数据页面</title>
	<style type="text/css">
		div{text-align: center;font-size: 24px;color:#0000FF;}
		table{margin=0 auto;}
	</style>
</head>

<?php
echo "请输入需要排序的数据:";
echo "<form method=post >";
for($i=0;$i<6;$i++){
	echo "<input type='text' name='stu[]' size='5'>";
	if($i<5){
		echo "-";
	}
}
echo "<input type='submit' name='bt' value='提交'>";
echo "</form>";
if(isset($_POST['bt'])){
	$temp=0;
	$jsj=array();
	$stu=$_POST['stu'];
	$num=count($stu);
	echo "请输入您的所有数据:";
	foreach($stu as $score){
			echo $score."<br/>";
	}
	for($i=0;$i<$num;$i++){
		for($j=$i+1;$j<$num;$j++){
			if($stu[$i]>$stu[$j]){
				$temp=$stu[$i];
				$stu[$i]=$stu[$j];
				$stu[$j]=$temp;
			}
		}
	}
	echo "排序后的是数据如下:";
	while(list($key,$value)=each($stu)){
		echo $value."<br/>";
	}
}

?>
</html>

在这里插入图片描述

(2)sy4_2.php

在这里插入代码片

(3)sy4_3.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">

<title>注册页面</title>
	<style type="text/css">
		div{text-align: center;font-size: 24px;color:#0000FF;}
		table{margin=0 auto;}
	</style>
</head>

<body>
<form>
	<div>用户注册</div>
	<table>
		<tr>
			<td>
				用户名:<input type = "text" name="ID">
			</td>
			<td class="stlye1">6~12个字符(数字,字母,下划线)</td>
		</tr>
		<tr>
			<td>
				密  码:<input type = "password" name="password">
			</td>
			<td class="stlye1">6~20数字</td>
		</tr>
		<tr>
			<td>
				出生日期:<input type = "text" name="birthday">
			</td>
			<td class="stlye1">有效日期</td>
		</tr>
		<tr>
			<td>
				邮  箱:<input type = "email" name="email">
			</td>
			<td class="stlye1">有效邮件地址</td>
		</tr>
		<tr>
			<td colsan="2" align="center" >
				<input type = "submit" name="bt" value="注册">
			</td>
			<td colsan="2" align="center" >
				<input type = "reset" name="cancel" value="取消">
		</tr>
	</table>	
</form>
</body>
</html>
<?php
if(isset($_POST['bt'])){}
	$id=$_POST['ID'];
	$birthday=$_POST['birthday'];
	$password=$_POST['password'];
	$email=$_POST['email'];
	$checkId=preg_match('/^\w{6,12}$/',$id);
	$checkPwd=preg_match('/^\d{6,20}$/',$password);
	$checkBirthday=preg_match('/^\d{4}-0?\d|1?[012])-(0?\d|[12]\d\3[01])$/',$birthday);
	$checkEmail=preg_match('/^[a-zA-Z0-9_\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/',$email);
	if(!$checkId){
		echo "<script>alert('用户名格式错误!');</script>";
	}else if(!$check){
		echo "<script>alert('密码格式错误!');</script>";
	}else if(!$checkEmail){
		echo "<script>alert('邮箱地址格式错误!');</script>";
	}else if(!$checkBirthday){
		echo "<script>alert('生日格式错误!');</script>";
	}
?>

在这里插入图片描述

(4)sy4_4.php

<!doctype html>
<HEAD>
<meta charset="utf-8">

<title>表单页面</title>
	<style type="text/css">
		table,div,td{
			text-align: center;
		}
		table{
			margin: 0 auto;
		}
		p{
			font-size:18px;
			color: #FF0000;
		}
	</style>
</HEAD>
<form name="fr1" method="post">
	<table border="1">
		<tr>
			<td><div>学号</div></td><td><div>姓名</div></td><td><div>成绩</div></td>
		</tr>
		<?php 
			for($i=0;$i<5;$i++)
			{
			echo "	<tr><td><input type='text' name='XH[]'></td>";
			echo "	<td><input type='text' name='XM[]'></td>";
			echo "	<td><input type='text' name='CJ[]'></td>";
	    	echo "</tr>";
			}
		?>
		<tr>
		    <td>
		    	<input type="submit" name="bt_stu" value="提交">
		    </td>
		</tr>
		
	</table>	
</form>
<p align="center">注意,学号不能重复</p><br/>

<!-- 以上是输入表单-->
<?php 
	if(isset($_POST['bt_stu'])){
		foreach($_POST as $value1 ){
			list($XH,$XM,$CJ)=$value1;
		}
		$arry=array_multisort($CJ,$XH,$XM);
		for($i=0;$i<count($XH);$i++){
			$sum[$i]=$array($XH[$i],$XM[$i],$CJ[$i]);
		}
		echo "<div>排序后的成绩表如下:</div>";
		echo 
		"<table>
		<tr>
			<td><div>学号</div></td><td><div>姓名</div></td><td><div>成绩</div></td>
		</tr>
		</table>
		";
		
		foreach($sum as $value){
			list($stu_number,$stu_name,$stu_score)=$value;
			
			echo "<tr><td>$stu_number</td><td>$stu_name</td><td>$stu_score</td></tr>";
		}
		echo "</table><br/>";
		rest($sum);
		while(list($key,$value)=each($sum)){
			list($stu_number,$stu_name,$stu_score)=$value;		
			if($stu_number=="3"){
				echo "<p align='center'> ";
				echo $stu_number."的姓名为:".$stu_name."成绩为:".$stu_score;
				break;
			}
		}
	}
?>
</HTML>

在这里插入图片描述

(5)sy4_5.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
	p{
		font-famliy:"方正舒体";
		font-size:18px;
	}
	divp{
		font-famliy:"黑体";
		font-size:18px;
	}
</style>
<form name"f1" method=post action="">
	<p>
		您的email地址:
		<br><input type="email" name="email" size="31"><br>
		您的留言:
		<br> <textarea name="note" rows="10" clos="30" ></textarea>
		<br><input type="submit" name="bt1" value="提交">
		<input type="reset" name="bt2" value="清空">
	</p>
</form>
<?php 
if(isset($_POST['bt1'])){
	$email=$_POST['email'];
	$note=$_POST['$note'];
	if(!$email||$note){
		echo "<script>alert('email地址和留言请填写完整!')</script>";
	}else{
		$array=explode("@",$email);
		if(count($array!=2)){
			echo "<script>alert('email地址格式错误!');</script>";
				
		}else{
			$username = $array[0];
			$netname = $array[1];
			if(strstr($username,".") or strstr($username,",")){
				echo "<script>alert('email地址格式错误!'</script>";
			}
			else{
				$str1=htmlspecialchars("<");
				$str2=htmlspecialchars(">");
				$newnote=str_replace("我","本人",$note);
				echo "<div>";
				echo "用户".$str1.$username.$str2."您好!nbsp;";
				echo "您是".$str2."网友!<br/>";
				echo "您的留言是:<br>&nbsp;&nbsp;&nbsp;".$newnote."<br/>";
				echo "</div>";
			}	
		}
	}
	
}

?>

</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值