php中一个完整表单处理实现代码
前端之家收集整理的这篇文章主要介绍了
php中一个完整表单处理实现代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一个完整表单处理
下面我们将创建一个复杂的表单,代码如下所示。
<div class="codetitle"><a style="CURSOR: pointer" data="21213" class="copybut" id="copybut21213" onclick="doCopy('code21213')"> 代码如下:
<div class="codebody" id="code21213">
<form action="someform.
PHP" method="post">
<table width="541" border="0">
<tr>
<td width="26%">姓名:</td>
<td width="74%"><input type="text" name="username" value="raymond" id="username"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" maxlength="10" id="password"/></td>
</tr>
<tr>
<td>年龄:</td>
<td>
<select name="age">
<option value=">16">小于16
<option value="31-50">31-50
<option value="51-80">51-80
</td>
</tr>
<tr>
<td valign="top">自我介绍:</td>
<td><textarea name="intro" rows="3" cols="50" id="intro">请输入您的自我介绍</td>
</tr>
<tr>
<td>
体育爱好: </td>
<td>
网球
<input type="ra
dio" name="fave_sport" value="football">
足球
<input type="ra
dio" name="fave_sport" value="baseball">
篮球
<input type="ra
dio" name="fave_sport" value="polo">
保龄球 </td>
</tr>
<tr>
<td> 开发语言:</td>
<td><input name="from" type="hidden" id="from" value="
注册表单">
<input type="check
Box" name="languages[]" value="
PHP" checked id="languages[]">
PHP <input type="check
Box" name="languages[]" value="java" id="languages[]">
java
<input type="check
Box" name="languages[]" value="perl" id="languages[]">
perl
<input type="check
Box" name="languages[]" value="cpp" id="languages[]">
c++
<input type="check
Box" name="languages[]" value=".net" id="languages[]">
.NET
<input type="check
Box" name="languages[]" value="delphi" id="languages[]">
delphi </td>
</tr>
<tr>
<td valign="top">
</td>
<td><select name="develop_ide[]" size="5" multiple id="develop_ide[]">
<option value="Eclipse">Eclipse
<option value="Editplus">Editplus
<option value="Ultraedit">Ultraedit
<option value="Other">Other
</td>
</tr>
<tr>
<td valign="top"></td>
<td><input type="submit" name="btn_submit" value="提交"/></td>
</tr>
</table>
该表单
包括了常用表单元素:单行文本框、多行文本框、单选项(ra
dio)、多选项(check
Box),以及多选
菜单。下面进行详细的说明。
maxlength是与密码文本框关联的
属性,它限制
用户输入密码的最大长度为10个字符。
age列表框是列表
菜单,它的命名
属性下都有自己的值供选择。selected是一个特定的
属性选择元素,如果某个option附加有该
属性,在
显示时就把该项列为第一项
显示。
intro文本框中的
内容,按照rows和cols
显示文字、行和列宽。
fave_sport是一组单选按钮(ra
dio),我们要按组命名元素
名称,比如这一组单选按钮都叫做fave_sport,
用户只可选择一个,发送脚本端也只存在一个值。
和单选项一样,所有多选项成员也须有同名的
属性,而
属性名称需要
添加括号[],这样就把多选项的值以数组形式发送给
PHP,languages就是这种形式。
checked
标签是指单选项和多选项中的某个值,默认已经被选择。 上面表单的
显示画面如图5-3所示。
因为上面HTML中的form表单使用的是POST方法传递数据,所以用户提交的数据会保存到$_POST或$_REQUEST的超级全局数组中,我们根据$_POST数组中的值就可以处理提交的数据。 将上面表单中数据提交到someform.PHP脚本,该脚本的处理逻辑如下:
//通过判断按钮的变量名是否在$_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 "您选择的语言为:";
//处理
用户选择兴趣的check
Box按钮产生的数组
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为宜。
原文链接:https://www.f2er.com/php/27504.html