CodeSky 代码之空

随手记录自己的学习过程

只用一个PHP文件实现提交表单及输出

2014-04-02 16:19分类: PHP评论: 0

好吧这是我上次布置的作业,为了收尾就写篇教程+w+,其实我还是觉得没什么好写的。

演示

题目也就是做个和演示差不多一个意思的了,给的提示应该是很充分的,包括各种函数都有。

PHP 检查表单是否提交的两种方法中提到了如何检测提交,利用这个方法我们就可以节省一个HTML文件了。

$_POST是一个数组(超全局变量),如果页面的请求方式是POST,在这个数组里就会存上相应的内容,可以看W3School中关于这个的介绍:http://www.w3school.com.cn/php/php_post.asp

empty()函数以前有讲过,可以去PHP官方手册看一下:http://cn2.php.net/manual/en/function.empty.php 还有一个isset()的区别:http://codesky.me/archives/php-empty-isset.wind

然后基本上就很易懂了

源码:

1<!DOCTYPE html>
2<html>
3<head>
4	<meta charset="utf-8">
5	<title>注册系统</title>
6</head>
7<body>
8
9    <?php
10	if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
11    ?>
12	<h2>注册</h2>
13	<form action="form-post.php" method="post">
14		用户名:<input type="text" name="username"><br/>
15		密码<input type="password" name="password"><br/>
16		<input type="checkbox" name="agree">同意许可协议<br/>
17		<input type="submit" name="submit" value="提交">
18	</form>
19    <?php		
20	} else {
21		$problem = FALSE;
22		if (empty($_POST['username'])) {
23			echo '请输入用户名<br/>';
24			$problem = TRUE;
25		}
26
27		if (empty($_POST['password'])) {
28			echo '请输入密码<br/>';
29			$problem = TRUE;
30		}
31
32		if (empty($_POST['agree'])) {
33			echo '您必须先同意许可协议<br/>';
34			$problem = TRUE;
35		}
36
37		if (!$problem) {
38			echo '<h2>注册成功</h2>';
39			echo '欢迎' . $_POST['username'] . '你已成功注册,你的密码是' . $_POST['password'];
40		}
41	}
42    ?>
43</body>
44</html>
45

评论 (0)