【实验目的】
通过一段时间的HTML、PHP学习,写出一个留言板。
【实验内容】
<!DOCTYPE HTML>
<html><head>
</head>
<body>
<?php
// 定义变量并设置为空值
$name = $message = $noname = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") { //检查表单是否使用$_SERVER["REQUEST_METHOD"]进行提交,
//如果是POST则已经被提交,下面进行检查,如果未提交则显示一个空白表单
$name = test_input($_POST["name"]); //调用检查函数检查$_POST变量
$message = test_input($_POST["message"]);
$noname = test_input($_POST["noname"]);
}
function test_input($data) { //检查函数
$data = trim($data); //去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
$data = stripslashes($data); //删除用户输入中的反斜杠(\)
$data = htmlspecialchars($data); //使用此函数传递变量在页面或e-mail中是安全的
return $data;
}
?>
<h2>第一个PHP留言板界面</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
姓名:<input type="text" name="name"> <!-- 显示一个可以输入姓名的文本栏 -->
<br><br>
留言:<textarea name="message" rows="5" cols="40"></textarea> <!-- 显示一个可以输入留言的文本框 -->
<br><br>
是否匿名: <!-- 显示两个是否匿名的单选项目 -->
<input type="radio" name="noname" value="noname">匿名
<input type="radio" name="noname" value="realname">不匿名
<br><br>
<input type="submit" name="submit" value="提交"> <!-- 提交按钮 -->
</form>
<?php
echo "<h2>您的留言:</h2>";
echo $name;
echo "<br>";
echo $message;
echo "<br>";
?>
</body>
</html>
【实验原理和方法】
留言板界面的实现主要运用HTML表单的知识,其中涉及到运用text 来输出一个可以输入姓名文本栏、textarea来输入一个可以输入留言的文本框、radio来输出是否匿名的单选项目、submit来输出一个提交按钮。其次是PHP内容,首先判断表单是否是使用$_SERVER["REQUEST_METHOD"]来进行提交了,如果是的话那么进行下一步检查表单之后输出表单,如果没有,下面则会跳过检查直接输出空白的表单。检查表单的函数有trim ()来去除多余的空格、制表符、换行,stripslashes()来删除反斜杠,htmlspecialchars()防止$_SERVER["PHP_SELF"]被黑客利用,使表单在页面和e-mail中是安全的。
遗憾的是留言板的管理功能还没有实现,之后再补上。