实验03 PHP基础语法
实验目的
(1)掌握PHP与HTML交互使用的方法; (2)掌握PHP中变量和常量的定义方法;
(3)掌握PHP中运算符的使用方法; (4)掌握PHP中进行流程控制的方法;
(5)掌握PHP中函数的定义和使用方法。
实验准备
(1)了解使用PHP输出HTML的方法; (2)了解在HTML中嵌入PHP代码的方法;
(3)了解PHP的各种数据类型; (4)了解函数的概念。
实验内容
一、使用for循环输出九九乘法表(重点理解PHP嵌入HTML,文件名命名为SY3_6.php)
//SY3_6.php
<?php
for ($i=1; $i <= 9; $i++)
{
for ($j=1; $j <= $i; $j++)
{
echo "$i*$j=".$i*$j."  ";
if ($j==$i) echo "<br>";
}
}
?>
运行结果:
二、使用循环输出一个5行4列表格(重点理解PHP和HTML混写,文件名命名为SY3_7.php)
//SY3_7.php
<!DOCTYPE html>
<title>表格输出</title>
<style type="text/css">
table,td{
width:200px;
border:1px solid;
text-align:center;
margin:auto;
}
</style>
<?php
$i=0;
echo"<table>";
while($i<5)
{
echo "<tr>";
for($j=1;$j<5;$j++)
{
echo "<td>".$i.$j."</ted>";
}
echo "</tr>";
$i++;
}
echo "</table>"
?>
运行结果:
三、完成教材P99例3.8(重点理解HTML-PHP-JS混写,PHP全局数组,数据类型特别是布尔型及其转换,文件名命名为SY3_8.php)
//SY3_8.php
<?php
header("content_type:text/html;charset=utf-8");
?>
<!DOCTYPE html>
<form action="" method="post">
以下属于Web开发语言的有哪几种?<br/>
<input type="checkbox" name="answer[]" value="C语言">C语言<br/>
<input type="checkbox" name="answer[]" value="PHP">PHP<br/>
<input type="checkbox" name="answer[]" value="FLASH">FLASH<br/>
<input type="checkbox" name="answer[]" value="ASP">ASP<br/>
<input type="checkbox" name="answer[]" value="JSP">JSP<br/>
<input type="submit" name=bt_answer value="提交">
</form>
<?php
if(isset($_POST['bt_answer']))
{
$answer=@$_POST['answer'];
if(!$answer)
echo"<script>alert('请选择答案')</script>";
$num=count($answer);
$anw="";
for($i=0;$i<$num;$i++)
{
$anw=$anw.$answer[$i];
}
if($anw=="PHPASPJSP")
echo"<script>alert('回答正确!')</script>";
else
echo"<script>alert('回答错误!')</script>";
}
?>
运行结果:
四、完成教材P313~317实验3 - PHP基础语法中 的实验3.13.5(文件名分别为SY3_1.php SY3_5.php)
运行结果:
//SY3_1.php
//SY3_2.php
运行结果:
//SY3_3.php
<?php
header("content-type:text/html;charset=utf-8");
?>
<html >
<body>
<form action="" method="post">
<table border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" align="center" bgcolor="#999999">用户登录表单</td>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" size="21"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="submit" value="登录">
<input type="reset" name="submit2" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
if($username == "admin" && $password == "123456") {
echo "<script>alert('登录成功');</script>";
}
else {
echo "<script>alert('登录失败');</script>";
}
}
?>
用户名:admin
密码:123456
运行结果:
//SY3_4.php
运行结果:
SY3_5.php
<?php
header("content-type:text/html;charset=utf-8");
function my_sort($array)
{
for ($i=0; $i < count($array); $i++)
{
for ($j=$i; $j < count($array) ; $j++)
{
if ($array[$i]>$array[$j])
{
$tmp=$array[$j];
$array[$j]=$array[$i];
$array[$i]=$tmp;
}
}
}
return $array;
}
echo "请输入需要排列的数据:<br/>";
echo "<form method=post>";
for ($i=1; $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']))
{
$stu=$_POST['stu'];
$arr_stu=my_sort($stu);
echo "排序后的数据如下所示:<br/>";
while (list($key,$value)=each($arr_stu))
{
echo $value."<br/>";
}
}
?>
运行结果:
五、思考与练习:实验3- PHP基础语法中的实验3.1~3.5后面的【思考与练习】
//3.1思考题 p313
<?php
header("content-type:text/html;charset=utf-8");
echo "<p style='font-family:黑体; color:red;'>点击下面的超链接进入桂林理工大学的网页</p>";
echo "<a href='http://www.glut.edu.cn' style='font-family:幼圆;'>超链接-桂林理工大学</a>";
echo "<script>alert('JavaScript弹出框');</script>";
?>
运行结果:
//3.2思考题 p314
//SY3_2.1a.php
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>学生个人信息</title>
<style type="text/css">
<!--
STYLE1{font-size:20px;font-family: "黑体";color: blue;}
STYLE2{font-size:20px;font-family: "幼圆";}
-->
</style>
</head>
<body>
<form name="SY3_2.1" method="post" action="SY3_2.1b.php">
<table width="400" border="0" align="center" bgcolor="#CCFFCC">
<tr>
<td colspan="2" bgcolor="#999999"><div align="center" class="STYLE1">学生个人信息</div>
</td>
</tr>
<tr>
<td width="120" class="STYLE2">学号:</td>
<td><input name="XH" type="text" value="181101"></td>
</tr>
<tr>
<td class="STYLE2">姓名:</td>
<td><input name="XM" type="text" value="王林"></td>
</tr>
<tr>
<td class="STYLE2">姓别:</td><td>
<input name="SEX" type="radio" value="男" >男
<input name="SEX" type="radio" value="女" checked="checked">女</td>
</tr>
<tr>
<td class="STYLE2">所学专业:</td>
<td>
<select name="ZY">
<option>计算机</option>
<option>软件工程</option>
<option>信息管理</option>
</select></td>
</tr>
<tr>
<td class="STYLE2">备注:</td>
<td><textarea name="BZ">团员</textarea></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="button1" value="提交">
<input type="reset" name="button2" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>
//SY3_2.1b.php
<?php
header("content-type:text/html;charset=utf-8");
$XM=$_POST["XM"];
$SEX=$_POST["SEX"];
$ZY=$_POST["ZY"];
$BZ=$_POST["BZ"];
echo "姓名:".$XM."<br/>";
echo "性别:".$SEX."<br/>";
echo "专业:".$ZY."<br/>";
echo "备注:".$BZ."<br/>";
?>
运行结果:
//3.3思考题 p315
//SY3_3.1.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>解一元二次方程</title>
</head>
<body>
<form action="" method="post">
<input type="text" name="xishu[]" size="3" placeholder="系数a">x<sup>2</sup>+
<input type="text" name="xishu[]" size="3" placeholder="系数b">x+
<input type="text" name="xishu[]" size="3" placeholder="系数c">=0
<input id="subtn" type="submit" name="solve" value="求解">
</form>
答案:<br>
<textarea name="res" id="res" cols="30" rows="10"></textarea>
</body>
</html>
<?php
if (isset($_POST['solve'])) {
$xishu = $_POST['xishu'];
$a = $xishu[0];
$b = $xishu[1];
$c = $xishu[2];
if (is_numeric($a) && is_numeric($b) && is_numeric($c)) {
if (($b*$b - 4*$a*$c) < 0) {
echo "<script>";
echo "document.getElementById('res').innerHTML = '没有实数解'";
echo "</script>";
}
else if ($a == 0) {
if ($c == 0) {
echo "<script>";
echo "document.getElementById('res').innerHTML = 'x=0'";
echo "</script>";
}
else {
echo "<script>";
echo "document.getElementById('res').innerHTML = 'x=".(-$c/$b);
echo "'</script>";
}
}
else {
$x1 = (-$b + sqrt($b*$b - 4*$a*$c))/(2*$a);
$x2 = (-$b - sqrt($b*$b - 4*$a*$c))/(2*$a);
echo "<script>";
echo "document.getElementById('res').innerHTML = 'x1=".$x1.";x2=".$x2;
echo "'</script>";
}
}
else {
echo "<script>";
echo "document.getElementById('res').innerHTML = '请输入系数'";
echo "</script>";
}
}
?>
运行结果:
//SY3_3.2.php
<?php
header("content-type:text/html;charset=utf-8");
?>
<html>
<body>
<form action="" method="post">
输入:<input type="text" name="shuru">
<input type="submit" name="subtn" value="提交"><br>
输出:<input type="text" name="shuchu" id="shuchu">
</form>
</body>
</html>
<?php
if (isset($_POST['subtn'])) {
echo "<script>";
echo "document.getElementById('shuchu').value='";
echo $_POST['shuru'];
echo "'</script>";
}
?>
运行结果:
//3.4思考题 计算阶乘 p316
//SY3_4.1.php
<html >
<head>
<meta charset="UTF-8">
<title>计算阶乘</title>
</head>
<body>
<font size="4" color="blue" face="黑体">计算阶乘</font>
<form action="" method="post">
1*...*<input type="text" name="num" size="5">
<input type="submit" name="submit" value="计算">
</form>
</body>
</html>
<?php
if (isset($_POST['submit'])) {
$num = $_POST['num'];
$i=$num;
$sum =$num;
if($num == 0) {
echo "<script>alert('输入的数字必须不等于0');</script>";
}
else {
while ($i > 1 ) {
$sum = $sum*($i-1);
$i=$i-1;
}
echo "<script>alert('1*...*$num=$sum');</script>";
}
}
?>
运行结果:
//3.5思考题2 p317
//SY3_5.1b.php
<?php
header("content-type:text/html;charset=utf-8");
include "SY3_5.1.php";
$phone=$_POST['PHONE'];
$checkphone=preg_match('/^\d{10}$/', $phone);
if($checkphone)
echo "提交成功!";
else
echo "提交失败,格式不对";
?>
运行结果:
//3.5思考题2
//SY3_5.2.php
<?php
header("content-type:text/html;charset=utf-8");
function func($a,$b)
{
if ($a==$b)
echo "a等于b";
elseif ($a>$b)
echo "a大于b";
else
echo "a小于b";
}
func(5,6)
?>
运行结果: