php 表单验证及跳转,PHP 表单验证 - 完成表单实例

-------------------------------------------------------------------------------------------

本节展示如何在用户提交表单后保留输入字段中的值。

-------------------------------------------------------------------------------------------

PHP - 保留表单中的值

如需在用户点击提交按钮后在输入字段中显示值,我们在以下输入字段的 value 属性中增加了一小段 PHP 脚本:name、email 以及 website。在 comment 文本框字段中,我们把脚本放到了 与 之间。这些脚本输出 $name、$email、$website 和 $comment 变量的值。

然后,我们还需要显示选中了哪个单选按钮。对此,我们必须操作 checked 属性(而非单选按钮的 value 属性):

Name:

E-mail:

Website:

Comment: <?php echo $comment;?>

Gender:

value="female">Female

value="male">Male

--------------------------------------------------------------------------------------------------------------

PHP - 完整的表单实例

下面是 PHP 表单验证实例的完整代码:

实例

.error {color: #FF0000;}

// 定义变量并设置为空值

$nameErr = $emailErr = $genderErr = $websiteErr = "";

$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {

if (empty($_POST["name"])) {

$nameErr = "姓名是必填的";

} else {

$name = test_input($_POST["name"]);

// 检查姓名是否包含字母和空白字符

if (!preg_match("/^[a-zA-Z ]*$/",$name)) {

$nameErr = "只允许字母和空格";

}

}

if (empty($_POST["email"])) {

$emailErr = "电邮是必填的";

} else {

$email = test_input($_POST["email"]);

// 检查电子邮件地址语法是否有效

if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {

$emailErr = "无效的 email 格式";

}

}

if (empty($_POST["website"])) {

$website = "";

} else {

$website = test_input($_POST["website"]);

// 检查 URL 地址语法是否有效(正则表达式也允许 URL 中的斜杠)

if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {

$websiteErr = "无效的 URL";

}

}

if (empty($_POST["comment"])) {

$comment = "";

} else {

$comment = test_input($_POST["comment"]);

}

if (empty($_POST["gender"])) {

$genderErr = "性别是必选的";

} else {

$gender = test_input($_POST["gender"]);

}

}

function test_input($data) {

$data = trim($data);

$data = stripslashes($data);

$data = htmlspecialchars($data);

return $data;

}

?>

PHP 验证实例

* 必需的字段

">

姓名:

* <?php echo $nameErr;?>

电邮:

* <?php echo $emailErr;?>

网址:

评论:

性别:

女性

男性

* <?php echo $genderErr;?>

echo "

您的输入:

";

echo $name;

echo "
";

echo $email;

echo "
";

echo $website;

echo "
";

echo $comment;

echo "
";

echo $gender;

?>

运行结果:http://www.w3school.com.cn/tiy/s.asp?f=demo_php_form_validation_escapechar

JS表单验证类HTML代码实例

以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮 ...

layui 自定义表单验证的几个实例

*注:使用本方法请先引入layui依赖的layu.js和layui.css 1.html

JQuery表单验证插件EasyValidator&comma;超级简单易用&excl;

本插件的宗旨是:用户无需写一行JS验证代码,只需在要验证的表单中加入相应的验证属性即可,让验证功能易维护,可扩展,更容易上手. DEMO中已经包含了常用的正则表达式,可以直接复用,为了考虑扩展性,所以 ...

随机推荐

Unity LightmapParameters的使用

Unity5的烘培十分不好用,今天看官方demo时发现可以用LightmapParameters对模型的GI配置进行单独覆写,介绍一下 LightmapParameters可以把全局光照的配置做成预设 ...

kubernetes听云实战发布版

➠更多技术干货请戳:听云博客 听云线上使用k8s已经有一段时间了,下面对一些听云使用过程中的问题进行一些梳理,包括架构设计,安装部署和后期维护. 目录结构如下: 下面进入正题: 我们以听云系统的一个报 ...

yii中sphinx索引配置解析

#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/#请先将var/test/documents.sql导入数据库,并配置好 ...

Js笔试题之parseInt&lpar;&rpar;和&period;map&lpar;&rpar;

parseInt()的几个例子 var b = parseInt("01"); alert("b="+b); var c = parseInt("09 ...

yii2 表单提交一直报错 或者页面脚本写ajax&comma;用firbug调试总是找不到地址页面404

在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证,使用Yii表单生成页面的时候,如果表单的提交方式为POST,是都会在页面中添加一个隐藏字段:

浅谈Ubuntu PowerShell——小白入门教程

早在去年八月份PowerShell就开始开源跨平台了,但是一直没有去尝试,叫做PowerShell Core. 这里打算简单介绍一下如何安装和简单使用,为还不知道PowerShell Core on ...

shell脚本调用C语言之字符串切分之strtok函数

今天上午在写一个需求,要求的比较急,要求当天完成,我大致分析了一下,可以采用从shell脚本中插入一连串的日期,通过调用proc生成的可执行文件,将日期传入后台数据库,在数据库中进行计算.需要切分日期 ...

Linux服务器断电导致挂载及xfs文件损坏的修复方法

系统文件损坏后进入紧急修复模式,无法进行维护工作 welcome to emergency mode!after logging in ,type "journalctl -xb" ...

SharePoint2013 功能区的配置

遇到了很多次对网站功能区个性化定义的任务,包括标签按钮之类的修改,每次都要重新翻书,这次总结一下,留作备用. 添加内容 下面的XML我认为主要的内容是四部分,一个是CommandUIDefinitio ...

建立CMenu菜单项,实现选中菜单项点击左键响应事件

这里我只是根据自己的项目做了一些总结,实现点击右键弹出菜单项,点左键选择菜单项: CMenu menu; VERIFY(menu.CreatePopupMenu());//新建一个cmenu菜单项 m ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵩嵩报名系统多项目版本 v4.1 后台 /#/admin-login 帐号密码 admin admin 运行环境:标准iis环境 官网:http://www.gangh.com 以下为主要功能 ==========================系统设置======================= 系统名称在线设置 一键设置系统开启关闭 系统logo在线设置 系统版权设置 系统简介设置 ==========================项目设置========================== 可创建多个不同的项目 一键智能复制项目 一键设置项目开启关闭 开始时间结束时间设置 项目名称设置 项目简介设置 报名名额数量设置 相同ip允许的报名数量设置 报名成功提示设置 项目图形验证码开关 项目数据 项目数据分页列表显示 支持数据按关键词模糊搜索 支持数据高级查询,可指定字段进行精准搜索 数据打印功能 数据按模板生成证件打印 全部数据导出为excel格式 数据按搜索结果导出为excel格式 数据单个删除,批量删除 数据可进行编辑与修改 项目显示风格 表单的背景图片设置 表单的背景颜色设置 表单的宽度设置 表单输入框尺码设置 字段显示序号类型设置 字段排列方式设置 字段标题长度设置 =================================智能表单设计============================= 一键智能复制字段 字段名称设置 输入框内提示文字设置 可设置管理才能填写的字段 管理字段,可设置用户查询时是否可见 支持10几种必备字段类型 字段类型可随时切换 字段可设置按条件智能显示隐藏 可设置字段为不可重复字段,例如身份证号 可设置字段是否必填 可设置字段为登陆查询字段,设置后用户可查询信息 可设置字段的各种验证方式 多选选择数量区间限制设置 上传图片和文件的类型限制 上传图片的压缩比例设置,可将图片压缩到很小,方便手机端上传,节省流量与服务器空间 字段拖动排序 字段点击按钮调整顺序 设置分步骤分页显示 字段输入框宽度设置 字段标题显示宽度独立设置 字段整体显示宽度独立设置 ============================智能表单字段============================== 单行输入框 多行输入框 数字输入器 单选框 单选框(带输入) 复选框 下拉选择框 多级联动下拉选择框 日期时间选择器 颜色选择器 图片和文件上传 省市区选择器 56个民族选择器 分页按钮 文字分隔线 文字说明 =============================证件打印模板====================== 可设置多个打印模板 用户登陆后可以打印报名数据 打印模板拖动排列 可设置打印模板的宽度,调试,文字颜色等 =============================用户使用======================= 用户可根据登陆字段登陆 用户登陆后可以打印报名数据 用户登陆后可以修改报名数据 用户登陆后可以打印证件 用户上传图片时智能压缩
  表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上。 <br><br>  Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。因为是伪静态类,所以在调用时不需要实例化,直接以"类名+.语法+属性或方法名"来调用。此外,Validator还提供3种不同的错误提示模式,以满足不同的需要。<br><br>  完整文档下载: Validator.chm (zip压缩,111K)<br><br>  Validator目前可实现的验证类型有:<br><br>  1.是否为空;<br>  2.中文字符;<br>  3.双字节字符<br>  4.英文;<br>  5.数字;<br>  6.整数;<br>  7.实数;<br>  8.Email地址;<br>  9.使用HTTP协议的网址;<br>  10.电话号码;<br>  11.货币;<br>  12.手机号码;<br>  13.邮政编码;<br>  14.身份证号码;<br>  15.QQ号码;<br>  16.日期;<br>  17.符合安全规则的密码;<br>  18.某项的重复值;<br>  19.两数的关系比较;<br>  20.判断输入值是否在(n, m)区间;<br>  21.输入字符长度限制(可按字节比较);<br>  22.对于具有相同名称的单选按钮的选中判断;<br>  23.限制具有相同名称的多选按钮的选中数目;<br>  24.自定义的正则表达式验证; <br><br>  运行环境(客户端): <br><br>  在Windows Server 2003下用IE6.0+SP1和Mozilla Firefox 1.0测试通过;<br>  在Lunix RedHat 9下的Netscape测试通过;<br>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值