Конференция "Сети" » Переменные private php [D7, WinXP]
 
  • lewka © (28.08.15 14:46) [0]
    Привет.
    Делаю авторизация на сайте. нашел пример, но там используются константы.
    Подскажите как сделать чтобы вместо констант подставить $_POST[]

    часть примера
    class AuthClass {

       private $_login = "demo"; //Устанавливаем логин
       private $_password = "123"; //Устанавливаем пароль

       /**
        * Проверяет, авторизован пользователь или нет
        * Возвращает true если авторизован, иначе false
        * @return boolean
        */
       public function isAuth() {
           if (isset($_SESSION["is_auth"])) { //Если сессия существует
               return $_SESSION["is_auth"]; //Возвращаем значение переменной сессии is_auth (хранит true если авторизован, false если не авторизован)
           }

           else return false; //Пользователь не авторизован, т.к. переменная is_auth не создана
       }
       
       /**
        * Авторизация пользователя
        * @param string $login
        * @param string $passwors
        */
       public function auth($login, $passwors) {
           if ($login == $this->_login && $passwors == $this->_password) { //Если логин и пароль введены правильно
               $_SESSION["is_auth"] = true; //Делаем пользователя авторизованным
               $_SESSION["login"] = $login; //Записываем в сессию логин пользователя
               return true;
           }

           else { //Логин и пароль не подошел
               $_SESSION["is_auth"] = false;
               return false;
           }

       }
       
       /**
        * Метод возвращает логин авторизованного пользователя
        */
       public function getLogin() {
           if ($this->isAuth()) { //Если пользователь авторизован
               return $_SESSION["login"]; //Возвращаем логин, который записан в сессию
           }

       }
       
       
       public function out() {
           $_SESSION = array(); //Очищаем сессию
           session_destroy(); //Уничтожаем
       }

    }

  • кгшзх © (28.08.15 15:58) [1]
    Подскажите как сделать чтобы вместо констант подставить $_POST[]

    файнд и реплейс по тексту пробовал?
  • ~AQUARIUS~ (31.08.15 12:23) [2]
    Вы не на тот форум пришли.

    class AuthClass {

      private $_login = "demo"; //Устанавливаем логин
      private $_password = "123"; //Устанавливаем пароль

      public function __construct() {
         $this -> _login = $_POST['login'];
         $this -> _password = $_POST['password'];
      }


      *****
    }

  • ~AQUARIUS~ (31.08.15 12:24) [3]
    К модераторам: почему ссылки нельзя публиковать? Почему никаких сообщений об ошибке?
  • Игорь Шевченко © (01.09.15 18:11) [4]

    > К модераторам: почему ссылки нельзя публиковать?


    Можно, но по одной. Борьба со спамом.
  • ~AQUARIUS~ (02.09.15 10:28) [5]

    > > К модераторам: почему ссылки нельзя публиковать?
    >
    >
    > Можно, но по одной. Борьба со спамом.


    Тогда логично показывать какое-то сообщение, а не "тихо" выбрасывать на страницу со списком ветвей
  • кгшзх © (02.09.15 22:31) [6]
    тебе же никто не говорит, что нелогично на вопрос "как в тексте скрипта заменить константу на выражение" отвечать грудой ссылок
  • DayGaykin © (17.09.15 10:56) [7]
    В данном классе ничего менять не надо.

    Логика приведенного кода очень просто, неужели вы не можете реализовать ее самостоятельно?
 
Конференция "Сети" » Переменные private php [D7, WinXP]
Есть новые Нет новых   [118479   +42][b:0][p:0.002]