您的位置 首页 php

PHP 处理表单数据实例操作

和系统函数一样还有一些变量系统帮我们打包好,可以在各个页面拿来使用,比如

一、超全局变量

$GLOBALS[“全局变量名”];操作全局变量

$_REQUEST 获取客户端相关信息

$_SERVRE 获取服务相关信息

$_GET 接收GET方式发送的数据

$_POST 接收POST方式发送的数据

$_FILES 获取文件上传信息,详细请参阅 文件上传章节

二、页面间数据传递

1、URL重写:访问的页面地址后面加上参数传递数据,例如

Localhost/index.php?a=1&b=2

该页面可以通过$_REQUEST[“a”]接收

2、利用表单发送数据(默认发送数据的方式是GET),并接收处理,实例源码如下

<form action=”index.php”>

用户名:<input name=”loginid” id=”loginid” /><input type=”submit” value=”Click” /></form>

经测试,发送的数据存在

1)安全性隐患

2)发送中文可能会出现乱码问题(解决的办法强制编码urlencode与解码urldecode)

3)发送的数据超出250KB或1024个字节就会丢失数据。

鉴于以上原因,表单发送数据的方式要换成POST,URL重写事实上为GET方式发送数据。

TIPS:$_REQUEST可以接收GET、POST方式发送过来的数据,但是存在一个判断的过程,最好根据发送数据的方式,指明接收的方式。

3、状态保持:详细请参阅 学玩网

三、接收处理表单数据

对于 复选框 ,我们只要选中的值,另外不希望通过每一个复选框单独命名分别获取,可以给全部复选框命名加上“[]”,接收时$_REQUEST[“复选框名”]获取就是该对应复选框的数组,数组中每一个元素就是选中的值。

示例源码,前台页面:

<html>

<head><title>XXX 用户注册</title></head>

<body style=”margin-left:auto; margin-right:auto; text-align:center;”>

<form action=”register.php” method=”post”>

<table>

<caption><h3>用户注册</h3></caption>

<tr><th>用户名:</th>< td ><input name=”loginid” id=”loginid” placeholder=”请输入用户名” /></td></tr>

<tr><th>密码:</th><td><input name=”pwd” id=”pwd” type=”password” placeholder=”请输入密码” /></td></tr>

<tr><th>确认密码:</th><td><input name=”repwd” id=”repwd” type=”password” placeholder=”请输入确认密码” /></td></tr>

<tr><th>昵称:</th><td><input type=”text” name=”uname” id=”uname” placeholder=”请输入昵称” /></td></tr>

<tr><th>性别:</th><td><input type=”radio” checked id=”sex” name=”sex” />男<input name=”sex” type=”radio” id=”sex” />女

</td></tr>

<tr><th>喜欢的颜色:</th><td>

<select name=”ucolor” id=”ucolor”>

<option selected value=”0″>==请选择==</option>

<option value=”red”>–红色–</option>

<option value=”green”>–绿色–</option>

<option value=”blue”>–蓝色–</option>

</select>

</td></tr>

<tr><th>爱好:</th><td><input value=”playcomputer” name=”cbof[]” id=”cbof[]” type=”checkbox”>玩电脑

<input type=”checkbox” value=”readingbook” name=”cbof[]” id=”cbof[]” >看书

<input type=”checkbox” value=”dosporting” name=”cbof[]” id=”cbof[]”>做运动

</td></tr>

<tr><th>个人简介:</th><td>

<textarea rows=”4″ name=”describe” id=”describe”></textarea>

</td></tr>

<tr><td></td><td>

<input type=”submit” value=”提交”>

<input type=”reset” value=”重置”>

<input type=”button” value=”取消”>

</td></tr>

</table>

</form>

</body>

</html>

后台处理PHP代码:

<?php

//if(@$_POST[‘loginid’] && $_POST[‘pwd’] && $_POST[‘repwd’] && $_POST[‘uname’] && $_POST[‘ucolor’]){

$loginid=$_POST[‘loginid’];

$pwd=$_POST[‘pwd’];

$repwd=$_POST[‘repwd’];

$uname=$_POST[‘uname’];

$sex=$_POST[‘sex’];

$ucolor=$_POST[‘ucolor’];

//爱好

$describe=$_POST[‘describe’];

if(CheckInputText($loginid,’用户名’))

return;//exit()

if(CheckInputText($pwd,’密码’))

return;

if($repwd!=$pwd)

die(‘密码与确认密码不一致’);

if(CheckInputText($uname,’昵称’))

return;

if($ucolor==’0′)

die(‘请选择一个喜欢的颜色’);

if(count($_POST[“cbof”])==0)

die(‘请至少选择一个爱好’);

if($describe!=” && strlen ($describe)>256)

die(‘个人简介不得超出256个字符’);

echo ‘注册成功’;

//}

/*

Describe:验证文本框/域是否正确

Paramters:$input为输入的值

Return:正确返回false,错误返回true

*/

function CheckInputText($input,$msg){

$result=true;

if($input==”)

echo $msg.’为空’;

elseif(strlen($input)<4 || strlen($input)>16)

echo $msg.’长度在4~16个字符以内’;

else

$result=false;

return $result;

}

?>

综合运用作业:开发一个统计图生成工具

验证数据合法性

数据合法在本页面生成统计图

完整源码:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”>

<html xmlns=””>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />

<title>无标题文档</title>

</head>

<body>

<div style=”text-align:center”><h3>统计图生成工具</h3>

< font color=”gray” size=”-1″>(数值和对应单位请用英文逗号隔开)</font></div>

<form action=”#” method=”post”>

请输入数值:<input name=”sj” id=”sj” />

<b><font size=”+1″ color=”red”>*</font></b>

<br />

请输入单位:<input name=”dw” id=”dw” /><br />

<input style=”display:block; margin-left:98px; margin-top:3px; width:100px; height:28px;” type=”submit” class=” 生 成 ” />

</form>

<?php

$recUrl=$pieUrl=’images/noimage.jpg’;

if(@$_POST[‘sj’]){

$sj=$_POST[‘sj’];//获取数据

if($sj==”)

echo ‘<div style=”text-align:center;”><b><font size=”+2″ color=”red”>请输入数据</font></b></div>’;

elseif(CheckIsMathArray($sj))

echo ‘<div style=”text-align:center;”><b><font size=”+2″ color=”red”>输入的数据不合法</font></b></div>’;

else{

$recUrl=’Common/gdRectangle.php?sj=’.$sj.’&dw=’.$_POST[‘dw’];

$pieUrl=’Common/gdpie.php?sj=’.$sj.’&dw=’.$_POST[‘dw’];

}

}

//检测数据数组中是否是数值,不是返回true,都是返回false

function CheckIsMathArray($str){

$arr=explode(‘,’,$str);

foreach($arr as $v)

{

if(preg_match(‘/\D{1,}/’,$v))

return true;

}

return false;

}

?>

<div>

<div style=”float:left; width:350px; height:301px; margin-top:3px;overflow:auto;”><Img src=”<?php%20echo%20$pieUrl;?>” /></div>

<div style=”float:left; width:350px; height:301px;margin-top:3px; margin-left:30px; overflow:auto;”><Img src=”<?php%20echo%20$recUrl;?>” /></div></div>

<div style=”clear:both;”></div>

<div style=”width:900px; text-align:center; margin-top:25px;”>

<font color=”#2372F5″ size=”+1″>&copy; 2016 By 重蔚自留地</font>

</div>

</body>

</html>

文章来源:智云一二三科技

文章标题:PHP 处理表单数据实例操作

文章地址:https://www.zhihuclub.com/76753.shtml

关于作者: 智云科技

热门文章

网站地图