找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 993|回复: 0
打印 上一主题 下一主题

php中一个完整表单处理实现代码

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 08:32:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            一个完整表单处理
下面我们将创建一个复杂的表单,代码如下所示。
[U]复制代码[/U] 代码如下:

姓名:
密码:
年龄:

16">小于16
16-30
31-50
51-80

自我介绍:请输入您的自我介绍


体育爱好:

网球

足球

篮球

保龄球
开发语言:

php

java

perl

c++

.NET

delphi


开发工具:

Zend Studio
Eclipse
Editplus
Ultraedit
Other



该表单包括了常用表单元素:单行文本框、多行文本框、单选项(radio)、多选项(checkbox),以及多选菜单。下面进行详细的说明。
maxlength是与密码文本框关联的属性,它限制用户输入密码的最大长度为10个字符。
age列表框是列表菜单,它的命名属性下都有自己的值供选择。selected是一个特定的属性选择元素,如果某个option附加有该属性,在显示时就把该项列为第一项显示。
intro文本框中的内容,按照rows和cols显示文字、行和列宽。
fave_sport是一组单选按钮(radio),我们要按组命名元素名称,比如这一组单选按钮都叫做fave_sport,用户只可选择一个,发送脚本端也只存在一个值。
和单选项一样,所有多选项成员也须有同名的属性,而属性名称需要添加括号[],这样就把多选项的值以数组形式发送给PHP,languages就是这种形式。
checked标签是指单选项和多选项中的某个值,默认已经被选择。
上面表单的显示画面如图5-3所示。

因为上面HTML中的form表单使用的是POST方法传递数据,所以用户提交的数据会保存到$_POST或$_REQUEST的超级全局数组中,我们根据$_POST数组中的值就可以处理提交的数据。
将上面表单中数据提交到someform.php脚本,该脚本的处理逻辑如下:
[U]复制代码[/U] 代码如下:
//通过判断按钮的变量名是否在$_POST中定义,如果有表示该表单已提交
if(isset($_POST["btn_submit"])){
if (empty($_POST['username'])){
echo "您没有输入用户名";
exit(0);
}
if (empty($_POST['password'])){
echo "您没有输入密码: ";
exit(0);
}
echo "您的用户名: ".$_POST['user_name']."
";
echo "您的密码(明文): ".$_POST['password']."
";
echo "您的年龄: ".$_POST['age']."
";
if (!empty($_POST['languages'])){
echo "您选择的语言为:";
//处理用户选择兴趣的checkbox按钮产生的数组
foreach ($_POST['languages'] as $lang){
echo $lang. " ";
}
} else {
echo "您没有输入任何兴趣爱好";
}
if (!empty($_POST['develop_ide'])){
echo "您使用的开发工具为:";
//处理用户多选开发工具菜单产生的数组
foreach ($_POST['develop_ide'] as $ide){
echo $ide. " ";
}
} else {
echo "您没有选择开发工具";
}
echo "您的自我介绍: ".nl2br($_POST['intro'])."
";//nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (
)
";
echo "网页隐藏值(通过hidden标签值传递): ".$_POST['from']."
";
}
?>

说明:使用POST方式提交表单,通过HTTP协议的header部分传递表单数据,理论上数据的大小无上限。不过,在使用PHP进行POST提交时,文件大小受PHP配置文件(php.ini)限制,我们可以修改php.ini文件中的post_max_size参数,可将默认的2M字节,修改为自己需要的大小,但由于HTTP协议的特性,这个值不宜设置过大,最大以8M为宜。
            
            
您可能感兴趣的文章:
  • php 多个submit提交表单 处理方法
  • php中关于普通表单多文件上传的处理方法
  • PHP更新购物车数量(表单部分/PHP处理部分)
  • PHP对表单提交特殊字符的过滤和处理方法汇总
  • ThinkPHP中处理表单中的注意事项
  • PHP中使用php://input处理相同name值的表单数据
  • PHP处理大量表单字段的便捷方法
  • php实现表单多按钮提交action的处理方法
  • PHP简单处理表单输入的特殊字符的方法
  • php表单处理操作
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端