プロが教える店舗&オフィスのセキュリティ対策術

formでデータを送信するとバックスラッシュが入ってしまうので、stripslashes()で処理しています。

POSTでデータを送信しているのですが、

$prmarray_post = $_POST;
$data1 = stripslashes($prmarray_post["data1"]);

というような処理だと大丈夫なのですが、受け取るデータがいくつもあるので

function cnv_formstr($array) {
foreach($array as $k => $v){
if (get_magic_quotes_gpc()) {
$v = stripslashes($v);
}
$v = htmlspecialchars($v, ENT_QUOTES);
$$k = $v;
}
return $array;
}
$prmarray_post = cnv_formstr($_POST);
$data1 = $prmarray_post["data1"];

という感じでやりたいのですが、これだとうまくいきません。
どのようにすればよいのでしょうか。

よろしくお願いしますm(__)m

A 回答 (1件)

>> $$k = $v;



上記の行を
$array[$k]=$v;
に変更してみてください

注)既存の関数名と同じ変数名arrayは使わない方が良いですよ
    • good
    • 0
この回答へのお礼

ばっちりです!
変数名変更します。。。
ありがとうございましたm(__)m

お礼日時:2009/04/02 11:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!