我想过滤,然后将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();
答案 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();