За последние 24 часа нас посетили 22394 программиста и 997 роботов. Сейчас ищут 633 программиста ...

Передача хэша пароля свойству класса

Тема в разделе "PHP для новичков", создана пользователем Зингер, 20 фев 2019.

  1. Зингер

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

    С нами с:
    20 июл 2017
    Сообщения:
    127
    Симпатии:
    7
    Всем привет.
    Собственно сам класс (фрагмент):
    PHP:
    1. class insert_table_log_class {
    2.     public $data_param_array,$obj_podkl, $flag_osh;
    3.  
    4.     function __construct($obj_podkl = null, $data_param_array = NULL) {
    5.  
    6.         $this->flag_osh = 0;
    7.         if (is_null($obj_podkl)) {
    8.             $this->flag_osh = 1;
    9.         } else {
    10.             $this->obj_podkl = $obj_podkl;
    11.         }
    12.         if (is_array($data_param_array) === FALSE) {
    13.             $this->flag_osh = 1;
    14.         } else {
    15.             $this->data_param_array = $data_param_array;
    16.         }
    17.     }
    18. }
    Обычное объявление класса (здесь все хорошо):
    PHP:
    1. $insert_table_log = new insert_table_log_class($pdo_obj, array(
    2.                 prizn2 => 5,
    3.                 prizn4 => 1,
    4.                 prizn5 => $polzovatel_id,
    5.                 prizn6 => 'Редактирование имени администратора ',
    6.                 prizn7 => $zapis_id,
    7.                 prizn8 => $old_value_array[prizn2],
    8.                 prizn9 => $name_new_value
    9.             ));
    Если меняю на:
    PHP:
    1. $insert_table_log = new insert_table_log_class($obj_podkl, array(
    2.                     prizn2 => 6,
    3.                     prizn4 => 1,
    4.                     prizn5 => $polzovatel_id,
    5.                     prizn6 => 'Редактирование пароля администратора',
    6.                     prizn7 => $zapis_id,
    7.                     prizn8 => $old_value_array[prizn3], //Это Хэш пароля
    8.                     prizn9 => password_hash($password_new_value, PASSWORD_DEFAULT) //это хэш пароля
    9.                 ));
    то при print_r($insert_table_log->data_param_array); пусто.
    Т.е. как только в массиве присутствует хэш, массив обнуляется.
    Почему?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    может включить отображение ошибок и посмотреть?, например у вас php < 5.5 версии, где его еще не было, кстати с- в первом случае в качестве параметра $pdo_obj, а во втором $pdo_obj, - это ничего??
     
    Зингер нравится это.
  3. Зингер

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

    С нами с:
    20 июл 2017
    Сообщения:
    127
    Симпатии:
    7
    .......
    Тут, вместо многоточия маты в свой адрес.
    Спасибо огромное.
    Сам ненавижу чужие ошибки в именах переменных искать, а тут такое.
    Еще раз спасибо, все получилось.