За последние 24 часа нас посетили 21905 программистов и 1073 робота. Сейчас ищут 714 программистов ...

Php активировать пользователя и деактивировать - PHP

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

  1. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    ребят есть 2 функции актировать и деактивировать пользователя, принцип работы такой,
    есть в базе данных 2 строчки activation_code и active, когда active=1, то activation_code= null и пользователь отключается

    суть в том что одна кнопка есть отключить пользователя, ну она привязана к биллингу, а как сделать отдельно кнопку отключить пользователя? чтоб она не зависела от биллинга
    ____
    думал сделать так когда block=1, то activation_block= null - пользователя отключаем, а вот как в коде это сделать не понимаю, когда дополняю все по аналогии, то работает все синхронно, а надо чтоб кнопки работали по отдельности

    Код (PHP):
    1. /**
    2.      * activation code
    3.      *
    4.      * @var string
    5.      **/
    6.     public $activation_code;
    7.  
    8.             'active'     => ($manual_activation === false ? 1 : 0)
    9.  
    10.  
    2 функции активация и деактивация

    Код (PHP):
    1. /**
    2.      * activate
    3.      *
    4.      * @return void
    5.      * @author Mathew
    6.      **/
    7.     public function activate($id, $code = false)
    8.     {
    9.         $this->trigger_events('pre_activate');
    10.  
    11.         if ($code !== FALSE)
    12.         {
    13.             $query = $this->db->select($this->identity_column)
    14.                               ->where('activation_code', $code)
    15.                               ->where('id', $id)
    16.                               ->limit(1)
    17.                               ->get($this->tables['users']);
    18.  
    19.             $result = $query->row();
    20.  
    21.             if ($query->num_rows() !== 1)
    22.             {
    23.                 $this->trigger_events(array('post_activate', 'post_activate_unsuccessful'));
    24.                 $this->set_error('activate_unsuccessful');
    25.                 return FALSE;
    26.             }
    27.  
    28.             $data = array(
    29.                 'activation_code' => NULL,
    30.                 'active'          => 1
    31.             );
    32.  
    33.             $this->trigger_events('extra_where');
    34.             $this->db->update($this->tables['users'], $data, array('id' => $id));
    35.         }
    36.         else
    37.         {
    38.             $data = array(
    39.                 'activation_code' => NULL,
    40.                 'active'          => 1
    41.             );
    42.  
    43.  
    44.             $this->trigger_events('extra_where');
    45.             $this->db->update($this->tables['users'], $data, array('id' => $id));
    46.         }
    47.  
    48.  
    49.         $return = $this->db->affected_rows() == 1;
    50.         if ($return)
    51.         {
    52.             $this->trigger_events(array('post_activate', 'post_activate_successful'));
    53.             $this->set_message('activate_successful');
    54.         }
    55.         else
    56.         {
    57.             $this->trigger_events(array('post_activate', 'post_activate_unsuccessful'));
    58.             $this->set_error('activate_unsuccessful');
    59.         }
    60.  
    61.  
    62.         return $return;
    63.     }
    64.  
    65.  
    66.     /**
    67.      * Deactivate
    68.      *
    69.      * @return void
    70.      * @author Mathew
    71.      **/
    72.     public function deactivate($id = NULL)
    73.     {
    74.         $this->trigger_events('deactivate');
    75.  
    76.         if (!isset($id))
    77.         {
    78.             $this->set_error('deactivate_unsuccessful');
    79.             return FALSE;
    80.         }
    81.  
    82.         $activation_code       = sha1(md5(microtime()));
    83.         $this->activation_code = $activation_code;
    84.  
    85.         $data = array(
    86.             'activation_code' => $activation_code,
    87.             'active'          => 0
    88.         );
    89.  
    90.         $this->trigger_events('extra_where');
    91.         $this->db->update($this->tables['users'], $data, array('id' => $id));
    92.  
    93.         $return = $this->db->affected_rows() == 1;
    94.         if ($return)
    95.             $this->set_message('deactivate_successful');
    96.         else
    97.             $this->set_error('deactivate_unsuccessful');
    98.  
    99.         return $return;
    100.     }
    101.  
    помогите пожалуйста
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Строчки, или столбца?
    Как это связано с предыдущими пунктами по части БД? Что за что отвечает?
    Может, стоит делать не по аналогии, а выучить пхп и разобраться, что там происходит?
     
  3. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    именно строчки

    какие именно строчки не понятны?

    php знаю нормально, ну сами знаете в чужом коде ковыряться намного сложнее чем в своем))) поэтому я решил написать свою функцию блокировки, если у меня возникнут вопросы, то я обращусь на форум) а пока что буду разбираться сам(просто в данном коде я на мудрил сильно), огромное спасибо за то что откликнулись)
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Что отвечат за блокировку по биллингу, а что нет?