«
PHP程序处理网页表单的GET和POST方法另外用法

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  有时候我们需要保留GET和POST参数在下一页或者其他用途上传递!</p><p>  工作上的方便于是我写了这样的代码!</p><p>  希望大家多多交流!</p><code><?<br />/*<br />程序设计: 林建炫(飘枫设计室)<br />made in 珠海 by 2007-03-24<br />QQ: 5818500<br />Email: linzhenxuan@163.com<br />请勿删除该版权信息<br />用途:保留和修改GET和POST参数<br />*/<br />Function getplus($x='',$value='',$plus='close',$method='all')<br />{<br />Global $_GET,$_POST;<br />$array = array();<br />if($method=='all')<br />{$array[] = $_GET;$array[] = $_POST;}<br />elseif($method=='get'){$array[] = $_GET;}<br />elseif($method=='post'){$array[] = $_POST;}<br />$a = $_GET;<br />$i = 1;<br />$true = 0;<br />foreach($array as $k => $a)<br />{<br />foreach($a as $b => $c)<br />{<br />if($b==$x)<br />{<br />$c = $value;<br />$true = 1;//找到啦<br />$true2 = 1;<br />}<br />if($plus=='close')<br />{<br />if($i==1)<br />{<br />$temp .= "?$b=$c";<br />}<br />else<br />{<br />$temp .= "&$b=$c";<br />}<br />}<br />else<br />{<br />if($i==1)<br />{<br />if($true2!=1){$temp .= "?$b=$c";}else{$temp.="?";unset($true2);}<br />}<br />else<br />{<br />if($true2!=1){$temp .= "&$b=$c";}else{unset($true2);}<br />}<br />}<br />$i++;<br />}<br />}<br />if($true==0)<br />{<br />if (strpos($temp,"?")>0 || strpos($temp,"=")>0)<br />{<br />$temp .= "&$x=$value";<br />}<br />else<br />{<br />$temp .= "?$x=$value";<br />}<br />}<br />elseif($true==1 && $plus!='close')<br />{<br />if (strpos($temp,"?")>0 || strpos($temp,"=")>0)<br />{<br />$temp .= "&$x=$value";<br />}<br />else<br />{<br />$temp .= "?$x=$value";<br />}<br />}<br />return $temp;<br />}<br />?></code><p>  比如原来</p><p>  GET: ?method=1&a=1&b=2</p><p>  POST: y=2007&m=03</p><p>  用了</p><p>  <?=getplus('c','3')?></p><p>  之后显示</p><p>  ?method=1&a=1&b=2&y=2007&m=03&c=3</p><p>  用了</p><p>  <?=getplus('a','3','open')?></p><p>  之后显示</p><p>  ?method=1&b=2&y=2007&m=03&a=3</p><p>  把a=3拖到最后面来了</p><p>  我用<?=getplus('a','','open')?>来和javascript结合</p><p>  上一页</p><p>  自己感觉还是挺好的!</p><p>  可能还有写Bug没发现吧!</p><p>  希望大家多多提提!</p>