0

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();
4

5 に答える 5

4

これらの情報を渡す必要はありません。このように洗練してそのまま使用してください。

foreach($_REQUEST as $key => $value){
   $_REQUEST[$keys] = mysql_real_escape_string(htmlspecialchars($value));
}
于 2013-07-30T06:44:51.433 に答える
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);

それが役立つことを願っています

于 2013-07-30T06:36:03.227 に答える
0

直接使用できます。

抽出 ($_REQUEST);

次に、$username; を直接使用します。関数内

ありがとう、ディビヤン

于 2013-07-30T06:41:55.393 に答える
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();
于 2013-07-30T06:53:09.923 に答える
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();
于 2013-07-30T06:53:10.217 に答える