Проблема с $ POST,$ GET ... с двойным долларом
у меня есть этот код для проверки безопасности:
$tipos = array('$_POST','$_GET','$_COOKIE','$_SESSION','$_FILES');
foreach($tipos as $tipo){
if ( isset($$tipo) && !empty($$tipo) ) {
foreach ($$tipo as $key => $item) {
$tipo[$key] = $this->security->xss_clean($item);
}
}
}
дает мне ошибку undefined
переменной, я знаю, что я мог бы проверить его один за другим, но есть решение, как это?
3
1 answers
Во втором foreach вы должны использовать $$tipo[$key]
вместо $tipo[$key]
и Ваш массив типы не должны иметь $
. Это должно выглядеть так:
$tipos = array('_POST','_GET','_COOKIE','_SESSION','_FILES');
foreach($tipos as $tipo){
if ( isset($$tipo) && !empty($$tipo) ) {
foreach ($$tipo as $key => $item) {
$$tipo[$key] = $this->security->xss_clean($item);
}
}
}
2
Author: varTob, 2018-09-27 16:54:28