2016-03-13 4 views
0

я стараюсь, чтобы очистить все $_POST на первой строке моих PHP файлов я использую функцию, чтобы очистить его с tirm, stripslashes и mysql_real_escape_string

function filter($data) { 
$data = trim(htmlentities(strip_tags($data))); 
if (get_magic_quotes_gpc()) 
$data = stripslashes($data); 
$data = mysql_real_escape_string($data); 
return $data; 
} 




    foreach ($_POST as $key => $value) { 
$test="['".$key."']"; 
$_POST.$test=array(filter($value));  
    } 

я стараюсь здесь, чтобы получить все $_POST имя и значение и повторно поставленный пост с новым значением

+0

Что такое, что вы пытаетесь сделать ? – Iwnnay

+0

Я пытаюсь защитить все $ _POST во все скрипты –

+0

Это не то, как вы обращаетесь к элементам ассоциативного массива в php. Вы просто делаете '$ _POST [$ key] = ...', если это не проблема, с которой вы сталкиваетесь, вы все равно должны это знать. – Terminus

ответ

0

Я предполагаю, что вы видели, как делать что-то подобное этому и думают, что его нужно запускать как строку. Это не относится к делу. Я думаю, что, вместо того, это код, который вы хотите достичь:

<?php 

function filter($data) { 
    $data = trim(htmlentities(strip_tags($data))); 
    if (get_magic_quotes_gpc()) { 
     $data = mysql_real_escap_string(stripslashes($data)); 
    } 
    return $data; 
} 

foreach ($_POST as $key => $value) { 
    $_POST[$key] = filter($value);  
} 

Там много большой help on arrays at php.net. И если вы ищете что-то более продвинутое, я бы предложил посмотреть на array_walk. Ты код будет более производительным и выглядеть примерно так:

<?php 

function filter(&$data) { 
    $data = trim(htmlentities(strip_tags($data))); 
    if (get_magic_quotes_gpc()) { 
     $data = mysql_real_escap_string(stripslashes($data)); 
    } 
} 

array_walk ($_POST, 'filter'); 
+0

большое спасибо iam so happy –

0

Вот хороший простой способ применить функцию к вашему сообщению массива:

function filter(&$data) { 
    $data = trim(htmlentities(strip_tags($data))); 
    if (get_magic_quotes_gpc()) { 
     $data = mysql_real_escap_string(stripslashes($data)); 
    } 
    return $data; 
} 

array_walk($_POST, 'filter'); 
Смежные вопросы