递归处理提交数据

/**
* 递归处理提交数据
*
* @param string|array $data 提交数据
* @return string|array
*/
define("PHP_MAGIC_GPC",get_magic_quotes_gpc());
function rAddSlashes(&$data)
{
// 这里用到了之前定义的常量
if(!PHP_MAGIC_GPC)
{
return is_array($data)?array_map('rAddSlashes',$data):addslashes($data);
}
else
{
Return $data;
}
}
/*
看明白了没有。没有看明白的话我就讲讲,看明白了也不妨向下看看。
一般说来,对于提交的数据都是一维数组,但是也不排除多维的情况,比如多选项,对于cookie就有更多的可能是多维了,因此我们不可能把任何的提交都foreach来降维进行处理,这里我们可以用递归来进行这项工作。array_map函数在这里可是居功至伟,用它回调rAddSlashes本身来完成递归,简洁明快。此函数一次性将数据中的非凡字符进行了转义,不管其有多少维。我们可以这样来用它

CODE:
$post = rAddSlashes($_POST);
*/
?>

时间: 2024-09-21 07:11:23

递归处理提交数据的相关文章

xmlhttp Post方法提交数据到服务器端后出现乱字符的问题!!!

xml|服务器|数据|问题 xmlhttp Post方法提交数据到服务器端后出现乱字符的问题!!! 本例子需要两个文件:xmlencode.htm和xmlencode.asp======================================xmlencode.htm============ xmlencode.asp============ 这是孟子E章提供的一个方法,但是不知道该怎么用,怎么和下面的代码加在一起用.strA="submit1=Submit&str="

ASP代码实现禁止外部提交数据

使用asp尽量减少服务器端的工作量,这样就应该多使用javascript,把所有提交字段使用javascript或vbscript检测后提交给服务器,这样服务器就不必再作检测,而在提交时可能会有人修改script从本地提交,这样存在安全提交的问题,所以应该要求从服务器断路径提交,其他地址提交提交无无效: <% dim server_v1,server_v2 server_v1=Cstr(Request.ServerVariables("HTTP_REFERER")) server

ASP实现禁止从外部提交数据

数据 <%server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))if  mid(server_v1,8,len(server_v2))<>server_v2  then%>警告!你正在从外部提交数据!!请立即终止!!<%Response.Redirect "inde

模式窗口中提交数据的问题和解决

解决|数据|问题 在浏览器弹出的模式窗口提交数据时候遇到了这样的问题.首先模式窗口总是打开一个新的窗口,而不是刷新自身.其次关闭该模式窗口然后再打开,不能激发服务器端的 Page_Load 事件了. Google了下,解决办法如下: 1. 在弹出窗口的 标签中增加 ,这样解决了第一个问题.2. 在服务器端的 Page_Load 事件中增加下列语句: Response.Cache.SetNoServerCaching();Response.Cache.SetCacheability(System.

禁止从外部提交数据

<%server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))if  mid(server_v1,8,len(server_v2))<>server_v2  then%>警告!你正在从外部提交数据!!请立即终止!!<%Response.Redirect "index.a

页面自动刷新,又不用让用户按回车键来提交数据

如果页面要自动刷新,但该页面有Request.Form,那么通常会出现一个提示框,需要用户确定来提交数据,这就不是自动刷新了.而对于监控或股票显示来说,不要用户干预又非常重要,下面就可以解决该问题: <Script Language="javascript"><!--var limit="0:60" //定义刷新时间 if (document.images){var parselimit=limit.split(":")pars

如何防止用户重复提交数据

数据|重复|重复提交 这篇文章从语法上看,原作者应该是从什么地方翻译过来的. 简单的解决方案:最简单的方式就是当用户提交之后,在你的服务器端控件的代码中使用Response.Redirect("selfPage")语句.但是大多的数包括我都不使用这种方法. 多次提交:请注意:这篇文章并不是有关如何防止在一个页面中多次提交.这篇文章是教你在提交了请求之后如何防止页面进行刷新.情况是这样的,当用户提交了按钮之后,最终用户就不能再点击提交按钮了.但是这样最终用户仍然可以通过点击浏览器的刷新按

如何做页面自动刷新,又不用让用户按回车键来提交数据!

数据|刷新|页面 如何做页面自动刷新,又不用让用户按回车键来提交数据! (01-3-30 240) [豆豆] 于 2001-3-22 15:49:42 加贴在 Joy ASP ↑: 假设叶面中有如下form:<form name=InputDate>...</form> 如果页面要自动刷新,但该页面有Request.Form,那么通常会出现一个提示框,需要用户确定来提交数据,这就不是自动 刷新了.而对于监控或股票显示来说,不要用户干预又非常重要,下面就可以解决该问题: <Sc

ASP安全设置:禁止从外部提交数据

使用asp尽量减少服务器端的工作量,这样就应该多使用javascript,把所有提交字段使用javascript或vbscript检测后提交给服务器,这样服务器就不必再作检测,而在提交时可能会有人修改script从本地提交,这样存在安全提交的问题,所以应该要求从服务器断路径提交,其他地址提交提交无无效: <% dim server_v1,server_v2 server_v1=Cstr(Request.ServerVariables("HTTP_REFERER")) server