过滤所有获取/发布并使用一些信息

时间:2013-07-30 06:28:21

标签: php function

我想过滤,然后将POST和GET的所有值放在以键命名的变量中,这样我就想出了这段代码。

foreach($_REQUEST as $key => $value){
   $$key = mysql_real_escape_string(htmlspecialchars($value));
}

然后我想在函数中使用这些变量?我怎么能这样做?

funciton get_all_posts(){
    //return some information from the the new variable
    return $username;
    return $email;
    //return what ever I want to return from POST/GET using the new variables
}

echo get_all_posts();

5 个答案:

答案 0 :(得分:4)

无需传递这些信息,只需像这样进行优化并按原样使用

foreach($_REQUEST as $key => $value){
   $_REQUEST[$keys] = mysql_real_escape_string(htmlspecialchars($value));
}

答案 1 :(得分:0)

你可以使用这样的东西

$array = array();
foreach($_REQUEST as $key => $value){
   $array[$key] = mysql_real_escape_string(htmlspecialchars($value));
}

funciton get_all_posts($arr){
    //return some information from the the new variable

    // you can use $arr inside function 

    return $username;
    return $email;
    //return what ever I want to return from POST/GET using the new variables
}

echo get_all_posts($array);

我希望它会有所帮助

答案 2 :(得分:0)

你可以直接使用。

提取物($ _ REQUEST);

然后直接使用$ username;在你的功能中

谢谢, 迪阳

答案 3 :(得分:0)

我举个例子

function security ( &$data) {
    return is_array( $data ) ? array_map('security', $data) : mysql_real_escape_string(htmlspecialchars( $data, ENT_QUOTES ));
}

$_REQUEST['s'] = '"Hello"';
$_REQUEST['y'] = 'World\'s';

$_REQUEST = security( $_REQUEST );

print_r( $_REQUEST );


function get_all_posts() {
    extract($_REQUEST);
    //return some information from the the new variable
    return $s;
    return $y;
    //return what ever I want to return from POST/GET using the new variables
}

echo get_all_posts();

答案 4 :(得分:0)

我个人建议使用用密钥

索引的预定义数组
$request_array=array('username'=>'','password'=>'');

因为使用新添加的变量(最初没有计划)很容易处理。但是,您可以通过课程选择其他方法。

class stackoverflow{

    public $username;
     function __construct($mysqli){}

    //some function filter and store $this->username=$mysqli->real_escape_string($value);
     //some function able to use $this->username;
}

$request=new stackoverflow($mysqli);
$request->filter_request();
$request->get_all_post();