За последние 24 часа нас посетили 23520 программистов и 1549 роботов. Сейчас ищут 989 программистов ...

Получаю пустой результат после addcslashes

Тема в разделе "PHP для новичков", создана пользователем Сереганек, 16 мар 2017.

  1. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    В файле addcredentials.php есть фрагмент:

    PHP:
    1. require_once '../php/functions.php';
    2.  
    3.         if ($_SERVER['REQUEST_METHOD']=='POST'){
    4.         $login = $_POST["login"];
    5.         $password = $_POST["password"];
    6.         $is_empty=is_empty("POST");  
    7.         $login = apply_shield($login, $dbh, "POST");
    8.         $password = apply_shield($password, $dbh, "POST");
    В файле functions.php такие строки:

    PHP:
    1. function apply_shield($field, $db, $get_post) {
    2.         if ($get_post=="GET") {
    3.             if (isset($_GET['is_shield_addslashes'])){
    4.                 $field_new = addslashes($field);
    5.             }
    6.             if (isset($_GET['is_shield_addcslashes'])){
    7.                 $field_new = addcslashes($field);
    8.             }
    9.   .....      
    10.         } else {      
    11.             if (isset($_POST['is_shield_addslashes'])){
    12.                 $field_new = addslashes($field);
    13.             }
    14.             if (isset($_POST['is_shield_addcslashes'])){
    15.                 $field_new = addcslashes($field);
    16.           ....
    17.         }
    18.         return $field_new;
    19.     }
    Кто знает, почему я получаю пустую переменную $field_new?
     
  2. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Сереганек полагаю проблема в первом фрагменте кода,-
    используется $_POST в качестве инициализатора условия те если пердать по методу гет то участок кода вызывающий функцию не выполнится. те ты по идее должен получать правильный результат при методе пост. && желательно полный пример первого кода тк в функции проблем не вижу кроме разве что не существующих 'is_shield_addcslashes'
     
    Сереганек нравится это.
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    да в функции проблема.... правильно выше написали - is_shield_addslashes наверное просто не передают в POST - а в функции нет ни одного условия откуда брать $new_field если нет is_shield_addslashes ... вот он и пустой
     
    Сереганек и denis01 нравится это.
  4. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Ошибка была в addcslashes. Там не хватало одного параметра в функции.