> php教程 > php手册 > 表单验证之PHP代码框架

表单验证之PHP代码框架

WBOY
풀어 주다: 2016-06-21 08:59:13
원래의
1197명이 탐색했습니다.

   我在上一篇文章中讲到使用javascript做集成表单验证的方法,对于客户端验证已经足够,但好的表单验证应同时在客户端和服务器端进行——这正是写本文的目的。

    如果采用一般的验证方法应该怎样写呢?

    if ($_POST['some'] 不满足 condition) {

             die("wrong");

    }

    类似于javascript的集成验证方法,在PHP中也可利用数组和eval语句实现表单验证(服务器端)框架。一般步骤:

    1、将用户提交的数据从$_GET或$_POST数组收集到自定义数组(可选),

    2、填充验证数组(包括变量名、条件及提示等),

    3、添加固定的验证代码。

    下面我来举例说明,假设你要从网页中收集用户姓名及年龄,并且在服务器端实现数据验证,那么你可能需要form.html和act.php。form.html中包含表单:

   

        姓名:

        年龄:

       

   

    act.php中将实现表单的验证:

    $userinfo = array();                 // 步骤1

    $userinfo['name'] = isset($_POST['uname']) ? $_POST['uname'] : '';

    $userinfo['age'] = isset($_POST['uage']) ? (int)$_POST['uage'] : 0;

    $error_message = "";           // 错误信息

    // 步骤2

    $elems = array(
        array("\$userinfo['name']", 'strlen(#)

        // 若省略步骤1则按如下方式改写:

        // array("\$_POST['uname']", 'strlen(#)

        array("\$userinfo['age']", '#

    );

    // 步骤3

    for($i = 0; $i         if(eval("if(".preg_replace("/[#]/", $elems[$i][0], $elems[$i][1]).") return false;") === false) {
        $error_message .= $elems[$i][2];

        }
    }

    这样,我们每次只须填充验证数组$elems就可完成表单验证。


    希望对你们有用,我也很想知道你们是怎么做的。

    这样,我们每次只须填充验证数组$elems就可完成表单验证。

    希望对你们有用,我也很想知道你们是怎么做的。

    这样,我们每次只须填充验证数组$elems就可完成表单验证。

    希望对你们有用,我也很想知道你们是怎么做的。



관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿