0

DB に情報を入力するとき、filter_var 関数を使用して DB を SQL インジェクションから保護しています。filter_var($visitor_name, FILTER_SANITIZE_SPECIAL_CHARS);たとえば、O'Hara と入力すると、DB に として保存されO'Haraます。このデータを DB から取得して HTML として出力すると、すべて問題なく、O'Hara と表示されます。しかし、編集のためにテキスト入力フィールドに入れたい場合は、DB と同じように表示されます - O'Hara. では、filter_var アクションを逆にするにはどうすればよいでしょうか。入力フィールドでは、O'Hara のように通常どおり表示されるのでしょうか?

これは、データを取得するために使用するコードです。

function edit_visitor(visitor_id)
{
    $.getJSON("inc/API.php",
    {
        command : "get_visitor_by_id",
        visitor_id : visitor_id
    }, function(result){
        $("#edt_visitor_name").attr('value', result[0].visitor_name);
        $("#edt_visitor_identity_num").attr('value', result[0].visitor_identity_num);
        $("#edt_visitor_phone").attr('value', result[0].visitor_phone);
        $("#edt_visitor_email").attr('value', result[0].visitor_email);
        $("#edt_visitor_event_date").attr('value', result[0].visitor_event_date);
    });
}
4

5 に答える 5

0

使用できます: html_entity_decode() htmlspecialchars_decode() のより包括的なバージョン (PHP)。

JavaScript の場合:

function htmlspecialchars_decode(string, quote_style) {  
   var histogram = {}, symbol = '', tmp_str = '', entity = '';  
   tmp_str = string.toString();  

   if (false === (histogram = get_html_translation_table('HTML_SPECIALCHARS', quote_style))) {  
       return false;  
   }  

   // & must be the last character when decoding!  
   delete(histogram['&']);  
   histogram['&'] = '&';  

   for (symbol in histogram) {  
       entity = histogram[symbol];  
       tmp_str = tmp_str.split(entity).join(symbol);  
   }  

   return tmp_str;  

}

How to use: htmlspecialchars_decode("<p>this -&gt; &quot;</p>", 'ENT_NOQUOTES');

于 2013-06-25T06:41:32.107 に答える
0

html_entity_decodeを使用しPHPて、すべての HTML エンティティを適用可能な文字に変換します

html_entity_decode($a);

phpjsまたは、ライブラリを使用した JavaScript で

phpjsを使用したhtml_entity_decode

于 2013-06-25T06:39:55.180 に答える
0

おそらくdecodeURI()を使用してみてください。これをJavascriptで行いたい場合。PHPでは、それをデコードする方法がわかりません。

于 2013-06-25T06:39:58.977 に答える
0

使用するhtmlspecialchars_decode

例えば

 $clean_string = htmlspecialchars_decode($db_string);
于 2013-06-25T06:40:22.963 に答える