我在上一篇文章中讲到使用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就可完成表单验证。
希望对你们有用,我也很想知道你们是怎么做的。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。