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

好吧这是我上次布置的作业,为了收尾就写篇教程+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

然后基本上就很易懂了

源码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>注册系统</title>
</head>
<body>

    <?php
    if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    ?>
    <h2>注册</h2>
    <form action="form-post.php" method="post">
        用户名:<input type="text" name="username"><br/>
        密码<input type="password" name="password"><br/>
        <input type="checkbox" name="agree">同意许可协议<br/>
        <input type="submit" name="submit" value="提交">
    </form>
    <?php        
    } else {
        $problem = FALSE;
        if (empty($_POST['username'])) {
            echo '请输入用户名<br/>';
            $problem = TRUE;
        }

        if (empty($_POST['password'])) {
            echo '请输入密码<br/>';
            $problem = TRUE;
        }

        if (empty($_POST['agree'])) {
            echo '您必须先同意许可协议<br/>';
            $problem = TRUE;
        }

        if (!$problem) {
            echo '<h2>注册成功</h2>';
            echo '欢迎' . $_POST['username'] . '你已成功注册,你的密码是' . $_POST['password'];
        }
    }
    ?>
</body>
</html>

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 成品, 源码, 代码段, 语法, 社团

添加新评论