php中一个完整表单处理实现代码
PHP
使用
创建表单其中name属性指定表单的名称,以便在服务器中引用该表单。method指定将表单传到服务器的方法,取值为post或者get,post表示在HTTP请求中嵌入表单变量,get表示将变量附加到请求改页的URL后面。
action指定要接收表单变量的网页的URL,默认为当前页面。
target指定用来显示表单处理结果的目标窗口或框架名称。
一个完整表单处理
比如新建一个t1.php
代码如下:
姓名:
密码:
年龄:小于16
16-30
31-50
51-80
自我介绍:
请输入您的自我介绍体育爱好:网球
足球
篮球
保龄球
开发语言:php
java
android
c++
开发工具:
Zend Studio
Eclipse
Sublime
Other
该表单包括了常用表单元素:单行文本框、多行文本框、单选项(radio)、多选项(checkbox),以及多选菜单。下面进行详细的说明。
maxlength是与密码文本框关联的属性,它限制用户输入密码的最大长度为10个字符。
age列表框是列表菜单,它的命名属性下都有自己的值供选择。selected是一个特定的属性选择元素,如果某个option附加有该属性,在显示时就把该项列为第一项显示。
intro文本框中的内容,按照rows和cols显示文字、行和列宽。
fave_sport是一组单选按钮(radio),我们要按组命名元素名称,比如这一组单选按钮都叫做fave_sport,用户只可选择一个,发送脚本端也只存在一个值。
和单选项一样,所有多选项成员也须有同名的属性,而属性名称需要添加括号[],这样就把多选项的值以数组形式发送给PHP,languages就是这种形式。
checked标签是指单选项和多选项中的某个值,默认已经被选择。
因为上面HTML中的form表单使用的是POST方法传递数据,所以用户提交的数据会保存到$_POST或$_REQUEST的超级全局数组中,我们根据$_POST数组中的值就可以处理提交的数据。
将上面表单中数据提交到someform.php脚本,该脚本的处理逻辑如下:
新建一个t2.php
if(isset($_POST["btn_submit"])){
if(empty($_POST["usernmae"])){
echo"您没有输入用户名";
exit(0);
}
if(empty($_POST['password'])){
echo"您没有输入密码";
exit(0);
}
echo"您的用户名:".$_POST['username']."";
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']."";
}
?>
最终效果