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

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

复制代码 代码如下:

<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>
<option value="16-30" selected>16-30</option>
<option value="31-50">31-50</option>
<option value="51-80">51-80</option>
</select>
</td>
</tr>
<tr>
<td valign="top">自我介绍:</td>
<td><textarea name="intro" rows="3" cols="50" id="intro">请输入您的自我介绍</textarea></td>
</tr>
<tr>
<td><br />
体育爱好: </td>
<td><input type="radio" name="fave_sport" value="tennis" checked>
网球
<input type="radio" name="fave_sport" value="football">
足球
<input type="radio" name="fave_sport" value="baseball">
篮球
<input type="radio" name="fave_sport" value="polo">
保龄球 </td>
</tr>
<tr>
<td> 开发语言:</td>
<td><input name="from" type="hidden" id="from" value="注册表单">
<input type="checkbox" name="languages[]" value="php" checked id="languages[]">
php
<input type="checkbox" name="languages[]" value="java" id="languages[]">
java
<input type="checkbox" name="languages[]" value="perl" id="languages[]">
perl
<input type="checkbox" name="languages[]" value="cpp" id="languages[]">
c++
<input type="checkbox" name="languages[]" value=".net" id="languages[]">
.NET
<input type="checkbox" name="languages[]" value="delphi" id="languages[]">
delphi </td>
</tr>
<tr>
<td valign="top"><br>
<label> 开发工具:</label></td>
<td><select name="develop_ide[]" size="5" multiple id="develop_ide[]">
<option value="ZDE" selected>Zend Studio</option>
<option value="Eclipse">Eclipse</option>
<option value="Editplus">Editplus</option>
<option value="Ultraedit">Ultraedit</option>
<option value="Other">Other</option>
</select></td>
</tr>
<tr>
<td valign="top"> </td>
<td><input type="submit" name="btn_submit" value="提交"/></td>
</tr>
</table>
</form>

该表单包括了常用表单元素:单行文本框、多行文本框、单选项(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脚本,该脚本的处理逻辑如下:

复制代码 代码如下:

//通过判断按钮的变量名是否在$_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'])."<br />";//nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)
";
echo "网页隐藏值(通过hidden标签值传递): ".$_POST['from']."
";
}
?>

说明:使用POST方式提交表单,通过HTTP协议的header部分传递表单数据,理论上数据的大小无上限。不过,在使用PHP进行POST提交时,文件大小受PHP配置文件(php.ini)限制,我们可以修改php.ini文件中的post_max_size参数,可将默认的2M字节,修改为自己需要的大小,但由于HTTP协议的特性,这个值不宜设置过大,最大以8M为宜。

时间: 2024-10-31 04:21:25

php中一个完整表单处理实现代码_php基础的相关文章

php 表单验证实现代码_php基础

复制代码 代码如下: <html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script language="javascript" src="form.js" src="form.js"&

php中如何防止表单的重复提交_php技巧

复制代码 代码如下: <?php/* * php中如何防止表单的重复提交 */session_start();if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次写入,为后面刷新或后退的判断做个铺垫    //...........//写入数据库操作} else {//已经有第一次写入后的操作,也就不再写入数据库   

用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据_php基础

当 HTML 表单 (HTML Form) 的 method 为 get 时,$_GET 用来获取 HTML Form 的数据. 当 HTML 表单 (HTML Form) 的 method 为 post 时 , $_POST 用来获取 HTML Form 的数据. HTML Form 的get 和post 的区别,请参见HTML Form 的get 和post 的区别. 获取 HTML 表单 (HTML Form) 文本输入框 (input type="text") 数据 下面是一个

JavaScript 表单处理实现代码_基础知识

一 表单介绍 在HTML中,表单是由<form>元素来表示的,而在JavaScript中,表单对应的则是HTMLFormElement类型; // HTMLFormElement继承了HTMLElement;因此它拥有HTML元素具有的默认属性,别且还独有自己的属性和方法;HTMLFormElement属性和方法属性或方法 说明 acceptCharset 服务器能够处理的字符集; action 接受请求的URL; elements 表单中所有控件的集合; enctype 请求的编码类型; l

php empty函数判断mysql表单是否为空_php基础

值来进行判断. 很简单的,给一个例子. 方法一: 复制代码 代码如下: $sql = "select * form abc" $result = mysql_query($sql); $row = mysql_fetch_array($result); if(empty($row))//开始判断是够为空 { echo "null"; } else { echo "not null"; } 方法二: 复制代码 代码如下: $sql = "

PHP4与PHP3中一个不兼容问题的解决方法_php基础

PHP4与PHP3中有些不兼容的地方,但这主要是PHP4中的PHP.ini 中的设置有些不同的地方,这些改变主要是提高PHP4的效率. 其中的改变中,track_vars 的设置通常会是使旧的PHP3程序不能 再运行了,因为在PHP4的扩展设置中把track_vars 的值设为了off 这样旧的PHP3程序中就不能直接用GET,POST,COOKIE从上页传送过来 的变量了. 我这里有一个简单的解决的方法,不用把track_vars 的是设为on, 不过这只是一个权宜办法,以后大家还是用$HTT

Ext中如何动态生成一个form表单

问题描述 Ext中如何动态生成一个form表单,主要是表单里的item配置是会变的,根据数据库的数据会变.怎样动态生成这个表单呢. 问题补充:lizhi92574 写道 解决方案 var item, items = form.getForm().items;while ((item = items.last())) { //删除组件form.getForm().remove(item);form.remove(item);}form.add();//添加组件form.doLayout();解决方

将一个html中的文本表单提交到另一个html上

问题描述 将一个html中的文本表单提交到另一个html上 类似下面的html,提交给show.html, 完后显示出来,纯的html可以实现么 <form action="" method="post"> <div class="field"> This is a brief description of Interim Fix : {# 自动生成的默认错误信息显示 #} {# 会被翻译成:<ul class=&q

控制-JS如何显示和隐藏一个表格中的所有表单输入框。

问题描述 JS如何显示和隐藏一个表格中的所有表单输入框. 现在是想要把表格的补货一栏去掉,在表格底部加一个按钮,点击以后 已补货的数字变成输入框.然后再次点击以后提交. 我想要的是一个按钮,控制所有"已补货"列,所有数字都变成输入框. 控制表格里面加了class是content的数据, 点击以后 <span class=content>0</span> 变输入框,其他列数据不要变. <tr> <td> </td> <td