За последние 24 часа нас посетили 17976 программистов и 1699 роботов. Сейчас ищут 1544 программиста ...

Как быстро освоить PHP

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

  1. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    как вариант
    Код (PHP):
    1. $day = $_POST['day'];
    2.         $month = $_POST['month'];
    3.         $year = $_POST['year'];
    4.  
    5.         $now_date = date("Y-n-j");
    6.         $now_date1 = new DateTime($now_date);
    7.  
    8.         $date = new DateTime($year.'-'.$month.'-'.$day);
    9.         $date->modify("+1826 day");
    10.  
    11.         $date1 = new DateTime($year.'-'.$month.'-'.$day);
    12.         
    13.          $now_date2 = new DateTime($now_date);
    14.         $now_date2->modify("-54787 day");
    15.  
    16.         if($date >= $now_date1)
    17.         {
    18.             echo '<meta http-equiv="refresh" content="1;http://php1.890m.com/main/registration?year=toyang">';
    19.         }
    20.         
    21.         else if($date1 <= $now_date2)
    22.         {
    23.             echo '<meta http-equiv="refresh" content="1;http://php1.890m.com/main/registration?year=toold">';
    24.         }
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Alex_1984 попробуй ещё реализовать с DateInterval
     
  3. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    У меня они успевают отдать счетчик и кнопку, а потом скрыть их и редиректнуть. Пока что костыльно, автор. Проверять пользователя постфактум - не тру.

    Добавлено спустя 3 минуты 26 секунд:
    Использование GET для отображения ошибки? О_о
    Работает все просто крайне долго. Уж не знаю, хостинг ли слабый, либо тысяча переадресаций случаются.

    Добавлено спустя 1 минуту 37 секунд:
    Когда кликаю по кнопке, меня кидает на страницу increment, после чего меня кидает с нее на страницу с числом...воу... Друже, за что ты так свой сервер не любишь, что сам бомбишь его запросами?

    Добавлено спустя 7 минут 16 секунд:
    Разлогинился, решил залогиниться обратно - тупо пустая страница. Вообще ничего не происходит. А ведь я еще не начал ломать-ковырять ничего...

    Добавлено спустя 26 секунд:
    Дорабатывай, автор :)
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Не, ну это же защита от повторного добавления. Если кнопка, значит - форма, а значит надо редиректить, без задействования JavaScript по-другому и не сделать. Другое дело, у него редиректы все через теги meta refresh...


    Alex_1984, для редиректа нужно использовать
    Код (Text):
    1.  
    2. header("Location: /new-url");
    3. die; // или exit
    die после него обязательно - зачем браузеру ещё какой-то контент отдавать, если уже редиректить решил. Редирект через мета-тег для других вещей используется. Допустим, если по 404 ошибке заказчик просит показать текст ошибки на 10 секунд, а потом перекинуть на главную
     
  5. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    по этому пункту не понял, если пользователь не авторизован счетчик не будет работать

    Чем плохо через GET ошибки отображать и как по другому?

    хостинг и echo '<meta http-equiv="refresh" content="1;http://php1.890m.com/main/user">'; ))
    с header("Location: http://php1.890m.com/main/user"); работает заметно быстрей

    исправлено предыдущим пунктом


    насчет пустой страницы даже не знаю что сказать, 23 пользователя нарегал, ни с одним такого небыло)) может хостинг

    mkramer спасибо за подсказку ))
     
  6. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Если пользователь не авторизован, он эту страницу даже видеть не должен. А у тебя я попадаю на нее, вижу кнопки секунду, после чего попадаю на страницу входа. Надо сразу отдавать корректную страницу.
    Тем, что GET сделан не для этого. Ты, по факту, на сервере формируешь URL, после чего отдаешь его браузеру, после чего браузер посылает по нему запрос, после чего ты формируешь ответ, после чего ты отдаешь его браузеру. При том, что данные, по которым ты сформировал конечный ответ, были тебе известны с самого начала.

    Нашел ошибку->отдал браузеру страницу с сообщением об ошибке. Вот и вся цепочка. Никакой GET не нужен.
     
  7. Alex_1984

    Alex_1984 Новичок

    С нами с:
    10 дек 2014
    Сообщения:
    133
    Симпатии:
    0
    аа, ну это исправил уже.
    а с гетом получается есть 2 файла, registration и reg, registration это форма которая отправляет имя и пароль в reg, если данные не корректны reg отправляет гет запрос в registration в котором собственно он и отображается. reg в общем то не должен ничего показывать, он только обрабатывает.

    а, ну в сессию же можно еще писать.

    Переделал без гет, хотя по моему то же самое осталось, грузится та же страница, только ей гет параметры не передаются
     
  8. shayger

    shayger Новичок

    С нами с:
    27 фев 2016
    Сообщения:
    20
    Симпатии:
    0
    Всё еще принимаете решения?
     
  9. rewert

    rewert Новичок

    С нами с:
    28 янв 2016
    Сообщения:
    8
    Симпатии:
    0
    Добрый день! Учу PHP, понравилось это задание, вот решил выполнить. Посмотрите, пожалуйста

    ссылка

    Исходники чуть позже покажу
     
  10. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    всё работает.. пытался наипать форму - не получилось)) но мне показалось что там js задействован. В ТЗ было запрещенно это...
     
  11. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Самое интересное исходники
     
    denis01 нравится это.
  12. rewert

    rewert Новичок

    С нами с:
    28 янв 2016
    Сообщения:
    8
    Симпатии:
    0
    https://github.com/rewert60/task

    По поводу возраста - проходит от 5 полных лет (день рождения учитывается) и до 150 (включительно)
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @rewert мгимо финишд?
     
  14. rewert

    rewert Новичок

    С нами с:
    28 янв 2016
    Сообщения:
    8
    Симпатии:
    0
    Вы что-то путаете)
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @rewert я просто сходил по ссылке на гитхаб и сразу вспомнил соответствующий анекдот
     
  16. rewert

    rewert Новичок

    С нами с:
    28 янв 2016
    Сообщения:
    8
    Симпатии:
    0
    Даже не знаю, хорошо это или плохо
     
  17. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    анекдот это всегда хорошо.. но не всем :D
     
  18. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    для меня - нейтрально. для тебя - показатель низкого скила в английском языке. хорошо это или плохо - тебе решать.
     
  19. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    У меня уже в двух проектах такое реализовано на собственном framework, при чём я собрал собственную уневерсальную авторизацию, позволяющая создавать да едрешкёной кучи разнообразных авторизаций. При чём их можно крутить как хочешь :) Можно мне куда нибудь устроитсья на работу хочу 50к получать :D
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @askanim код-то покажешь?
     
  21. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    идёшь работать на 25-30 за год два вырастаешь на 200
     
  22. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Это как так Оо. Научи. Я сижу сейчас на окладе 30к. Но кажись это контора больше не позволит мне платить. Поэтому пока не нашёл не чего нового, пишу им сайт и заодно свой framework. ДУмаю когад закончу, с началом своего framework буду подыскивать новую работку.
    --- Добавлено ---
    Но я во Владивостоке, тут не так много работы, она есть но не так много по айти.
    --- Добавлено ---
    Но я во Владивостоке, тут не так много работы, она есть но не так много по айти, в
    Почему нет.
    Вот авторизация.

    Так это контроллер

    PHP:
    1. namespace App\Controllers\Auth;
    2.  
    3. use System\Http\Controller\Controllers;
    4.  
    5. class Auth extends Controllers
    6. {
    7.  
    8.     private $login;
    9.     public function login()
    10.     {
    11.  
    12.         $this->controller('Admin\\Users\\Users->login');
    13.         $this->prepareArray('login');
    14.         $this->executeData('login', '/Admin');
    15.  
    16.     }
    17.     public function register()
    18.     {
    19.         $this->controller('Admin\\Users\\Users->register');
    20.         $this->prepareArray('register');
    21.         $this->executeData('login', '/Admin');
    22.     }
    23.  
    24. }
    Такс, а это модель.

    PHP:
    1. namespace App\Models\Admin\Users;
    2.  
    3. use System\Http\Model\Auth\Users As RegisterUser;
    4. use System\Http\Model\Model;
    5. class Users extends Model
    6. {
    7.     public function login () {
    8.  
    9.         $register = new RegisterUser();
    10.  
    11.         $register->getId('id')
    12.             ->submit('submit')
    13.             ->login('user_email')
    14.             ->password('user_password')
    15.             ->getLogin('Users', 'user_email','user_password', 'user_group');
    16.     }
    17.     public function register () {
    18.         $register = new RegisterUser();
    19.         $register->getRegistration();
    20.     }
    21. }
    Ну и собственно сами методы под капотом.
    Это метод самого класса авторизации.
    PHP:
    1. <?php
    2. /**
    3. * Created by PhpStorm.
    4. * User: askanim
    5. * Date: 21.06.2016
    6. * Time: 11:24
    7. */
    8.  
    9. namespace System\Http\Model\Auth;
    10.  
    11. use System\Gabriel\AuthProtect;
    12. use System\Gabriel\CFE;
    13. use System\Gabriel\CFESession;
    14. use System\Http\Model\Model;
    15. use System\Gabriel\Gabriel;
    16. class Users extends AuthProtect
    17. {
    18.     private $db;
    19.     private $id;
    20.     public function __construct()
    21.     {
    22.         $this->db = new Model();
    23.     }
    24.     public function getId($id) {
    25.         /*
    26.          * Где $id это имя столбца таблицы которая является уникальным идентификатором строки пользователя в бд, для хеша
    27.          *
    28.          * Обычно уникальное число пользователя
    29.          *
    30.          * */
    31.         $this->id = $id;
    32.         return $this;
    33.     }
    34.  
    35.     public function getLogin($nameTable, $login, $password, $group = Null) {
    36.         /*
    37.          *
    38.          * Данная модель преднозначена
    39.          * Для проверки наличия пользователя
    40.          * в системе GABRIEL
    41.          * Где $login, это имя столбца поле по которому будем вычислять юзера в бд
    42.          * Где $password, это имя столбца таблицы, пароля, в бд
    43.          * $nameTable - это имя таблицы пользователей
    44.          *
    45.          *
    46.          * */
    47.  
    48.         if(isset($this->submit)) {
    49.  
    50.             $this->password = trim($this->password);
    51.             if (empty($this->cfe->getError())) {
    52.                 $result = $this->db->table($nameTable)->where([
    53.                     $login.'="'.$this->email.'"'
    54.                 ])->get();
    55.                 if(!empty($result) && password_verify($this->password, $result[0][$password])) {
    56.  
    57.                     $id = $result[0][$this->id];
    58.  
    59.                     if ($group != Null) {
    60.                         $group = $result[0][$group];
    61.                     }
    62.                     $hash = Gabriel::Hash($id);
    63.                     $hashCrypt = Gabriel::HashCrypt($hash);
    64.                     $this->db->table($nameTable)->where([$this->id,'=','"'.$id.'"'])->Update([$this->hash=>$hashCrypt]);
    65.  
    66.  
    67.                     CFESession::start();
    68.                     CFESession::cfeSession($hash, 'hash', SESSION);
    69.                     CFESession::cfeSession($id, 'id', SESSION);
    70.                     if ($group != Null) {
    71.                         CFESession::cfeSession($group, 'group', SESSION);
    72.                     }
    73.  
    74.                     header("Location: /admin/manual");
    75.                     exit();
    76.                 }
    77.                 else {
    78.                     echo 'Неверный логин или пароль';
    79.                     exit();
    80.                 }
    81.  
    82.             }
    83.             else {
    84.                 echo '<pre>';
    85.                 print_r($this->cfe->getError());
    86.                 echo '</pre>';
    87.             }
    88.  
    89.         }
    90.  
    91.  
    92.     }
    93.     public function getRegistration () {
    94.  
    95.         /*
    96.          * Данная модель преднозначена
    97.          * для регистрации нового пользователя
    98.          * в системе GABRIEL
    99.          *
    100.          *
    101.          * */
    102.  
    103.         if (isset($_POST['submit'])) {
    104.  
    105.             # Проверяем данные полей
    106.            $cfe = new CFE();
    107.             $cfe->getName($_POST['user_name'])
    108.                 ->getLogin($_POST['user_login'])
    109.                 ->getEmail($_POST['email'])
    110.                 ->getPassword($_POST['user_password'])
    111.                 ->getCPassword($_POST['confirmPassword'])
    112.                 ->getCheck($_POST['check_license'])
    113.                 ->register();
    114.             # Конец проверки
    115.            if (empty($cfe->getError())){
    116.                 # Если нет ошибок проверяем есть ли такой пользователь в базе данных
    117.                $result = $this->table('Users')
    118.                     ->where(['user_email="'.$_POST['email'].'"', 'или', 'user_login="'.$_POST['user_login'].'"'])
    119.                     ->get();
    120.                 if (!empty($result)) {
    121.                     echo 'Такой пользователь в базе существует';
    122.                     exit();
    123.                 }
    124.                 #Если пользователя в базе нет, то добовляем его в базу.
    125.  
    126.                 //Шифруем полученный пароль
    127.                 $password = trim($_POST['user_password']);
    128.                 $password = password_hash($password, PASSWORD_DEFAULT);
    129.  
    130.  
    131.  
    132.                 $hash = Gabriel::Hash($_POST['user_password']);
    133.                 $hashCrypt = Gabriel::HashCrypt($hash);
    134.                 // Теперь добавляем все данные о пользователе в бд
    135.                 $this->table('Users')->Insert([
    136.                     'user_group' => 0,
    137.                     'user_name' => $_POST['user_name'],
    138.                     'user_description' => 'Я новый пользователь'.$_POST['user_name'],
    139.                     'user_login' => $_POST['user_login'],
    140.                     'user_email' => $_POST['email'],
    141.                     'user_password' => $password,
    142.                     'user_hash' =>  $hashCrypt
    143.                 ]);
    144.  
    145.                 // Теперь получим id Пользователя
    146.                 $result = $this->table('Users')->where(['user_login="'.$_POST['user_login'].'"'])->get(['id']);
    147.  
    148.  
    149.                 $group = $result[0]['user_group'];
    150.                 $id = $result[0]['id'];
    151.  
    152.  
    153.                 // Теперь добавляем пользователя в группу пользователей
    154.  
    155.                 $this->table('UserGroup')->Insert([
    156.                     'group_id' => $group,
    157.                     'user_id' => $id
    158.                 ]);
    159.  
    160.                 CFESession::start();
    161.                 CFESession::userParameters($id, $group);
    162.                 CFESession::cfeSession($hash, 'hash', SESSION);
    163.                 header("Location: /admin/manual");
    164.                 exit();
    165.  
    166.             }
    167.             else {
    168.                 print_r($cfe->getError());
    169.                 exit();
    170.                 # Если есть ошибки значит вернём массив ошибок
    171.                return $cfe->getError();
    172.             }
    173.         }
    174.  
    175.     }
    176.  
    177.     public function getUser () {
    178.  
    179.     }
    180. }
    --- Добавлено ---
    Всё не влезло ща ещё докидываю
     
  23. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Обычно в нормальных конторах поднимают зарплату раз в пару месяцев по результатам и постоянно её пересматривают, ищи такую, переезжай в Москву, устраивайся удалённо, будешь перебирать варианты и постепенно найдёшь что-то хорошее.
     
  24. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Пока что переписал тока саму авторизацию под разнообразную тему, в данный момент переписываю регистрацию, так вот капот
    cfe session, но тут я ещё свою задумку до ума не довёл рук всё не хватает до вести так что пока там много не исполняемых строк. Но если они не задействованы при загрузке страницы, так что не думаю что это страшно.

    Блин файлы большие сюда не влазят ((((
    --- Добавлено ---
    cfeSession.php
    PHP:
    1. <?php
    2. /**
    3. * Created by PhpStorm.
    4. * User: askanim
    5. * Date: 22.06.2016
    6. * Time: 11:59
    7. */
    8.  
    9. namespace System\Gabriel;
    10.  
    11.  
    12. use System\Http\Model\Model;
    13.  
    14.  
    15. /*
    16. * Не доделал
    17. * Подумать и доделать реализацию с сессиями
    18. * Оставил в связи с нехваткой времени
    19. * Нужно доделать эту аутентификацию будет
    20. *
    21. *
    22. * */
    23. class CFESession
    24. {
    25.  
    26.     static private $DB;
    27.     static private $cfeName;
    28.     static private $cfeType;
    29.     static private $cfeHash;
    30.     static private $userId;
    31.     static private $userGroup;
    32.     static private $cfeId;
    33.     static private $cfeDeath;
    34.  
    35.  
    36.     public static function start () {
    37.         /*
    38.          * Стартует сессию
    39.          *
    40.          *
    41.          * */
    42.  
    43.         session_start();
    44.  
    45.         static::$DB = new Model();
    46.  
    47.  
    48.  
    49.     }
    50.     public static function userParameters ($id, $group) {
    51.         self::$userId = $id;
    52.         self::$userGroup = $group;
    53.     }
    54.  
    55.     public static function cfeSession ($value, $string, $type) {
    56.  
    57.         /*
    58.          * Добавляет новую сессию
    59.          * и записывает её в массив текущих переменных
    60.          * $this->currentToken
    61.          * Также кладём значение сесси в базу данных.
    62.          *
    63.          *
    64.          * */
    65.         if ($type == SESSION) {
    66.             $_SESSION[$string] = $value;
    67.         }
    68.         elseif ($type == CFE_SESSION) {
    69.             $_SESSION[$string] = $value;
    70.             self::$cfeName = $value;
    71.             self::$cfeType = $type;
    72.             self::$cfeHash = Gabriel::Hash($value);
    73.             self::addCFESession();
    74.         }
    75.         elseif ($type == CFE_USERSESSION) {
    76.  
    77.         }
    78.         elseif ($type == CFE_VAR) {
    79.  
    80.         }
    81.  
    82.  
    83.  
    84.  
    85.  
    86.     }
    87.     private static function addCFESession() {
    88.         static::$DB->table('CFESession')->Insert([
    89.             'cfe_name' => static::$cfeName,
    90.             'cfe_type' => static::$cfeType,
    91.             'cfe_hash' => static::$cfeHash
    92.         ]);
    93.     }
    94.     public static function getSession ($string) {
    95.         /*
    96.          * Получение сессии
    97.          *
    98.          *
    99.          * */
    100.  
    101.         if (!empty($_SESSION[$string]))
    102.             return $_SESSION[$string];
    103.         else
    104.             return 'Не опознанная сессия '.$string;
    105.  
    106.     }
    107.     public function getCurrentToken ($string) {
    108.         /*
    109.          * Возвращает токен;
    110.          * $this->currentToken;
    111.          * Указаный в $string;
    112.          *
    113.          *
    114.          * */
    115.  
    116.     }
    117.     public static function cfeAuthProtect($value, $id) {
    118.         /*
    119.          * Проверка расхождения выданной пользователю сессии
    120.          * С сессией в бд
    121.          *
    122.          *
    123.          * */
    124.  
    125.  
    126.         if(!empty($_SESSION[$value]) && $_SESSION[$id])
    127.         {
    128.             $DB = new Model();
    129.             $result = $DB->table('Users')->where(['id="'.$_SESSION[$id].'"'])
    130.                 ->get();
    131.             if (!empty($result)) {
    132.  
    133.                 if(password_verify($_SESSION[$value], $result[0]['user_hash']))
    134.                 {
    135.  
    136.                 }
    137.                 else {
    138.                     header("Location: /Whoops");
    139.                     exit();
    140.  
    141.                 }
    142.             }
    143.         }
    144.         else {
    145.             header("Location: /Whoops");
    146.             exit();
    147.         }
    148.     }
    149.     public static function cfeGroupProtect ($value, $group) {
    150.         /*
    151.          * Проверка на группы пользователей.
    152.          *
    153.          * */
    154.     }
    155.     public static function delSession() {
    156.         session_unset();
    157.     }
    158. }
    --- Добавлено ---
    Дальше идёт капот AuthProtect

    PHP:
    1. <?php
    2. /**
    3. * Created by PhpStorm.
    4. * User: askanim
    5. * Date: 30.06.2016
    6. * Time: 11:49
    7. */
    8.  
    9. namespace System\Gabriel;
    10.  
    11.  
    12. class AuthProtect
    13. {
    14.     protected $submit;
    15.     protected $login;
    16.     protected $firstName;
    17.     protected $secondName;
    18.     protected $email;
    19.     protected $tel;
    20.     protected $password;
    21.     protected $checkPassword;
    22.     protected $input;
    23.     protected $text;
    24.     protected $check;
    25.     protected $hash;
    26.     protected $cfe;
    27.     public function __construct()
    28.     {
    29.         $this->cfe = new CFE();
    30.     }
    31.  
    32.     public function submit($string) {
    33.         if (isset($_POST[$string])){
    34.             $this->cfe->enString($_POST($string));
    35.             $this->submit = $_POST[$string];
    36.             return $this;
    37.         }
    38.         else {
    39.             exit('<h1 align="center">WARNING 42 line in System/Http/Model/Auth/Users.php || code: Кнопка для отправления формы отправки не определена</h1>');
    40.         }
    41.     }
    42.     public function login($string) {
    43.         $string = strip_tags($_POST[$string]);
    44.         $this->cfe->enLengthString($string);
    45.         $this->login = $string;
    46.         return $this;
    47.     }
    48.     public function fName($string, $min = 3, $max = 30) {
    49.         $string = strip_tags($_POST[$string]);
    50.         $this->cfe->enRusString($string);
    51.         $this->cfe->lengthString($string, $min, $max);
    52.         $this->firstName = $string;
    53.         return $this;
    54.     }
    55.     public function sName($string, $min = 3, $max = 30) {
    56.         $string = strip_tags($_POST[$string]);
    57.         $this->cfe->enRusString($string);
    58.         $this->cfe->lengthString($string, $min, $max);
    59.         $this->secondName = $string;
    60.         return $this;
    61.     }
    62.     public function email($string)
    63.     {
    64.         $string = strip_tags($_POST[$string]);
    65.         $this->cfe->emailString($string);
    66.         $this->email = $string;
    67.         return $this;
    68.     }
    69.     public function tel ($string) {
    70.         $string = strip_tags($_POST[$string]);
    71.         $this->cfe->telString($string);
    72.         $this->tel = $string;
    73.         return $this;
    74.     }
    75.     public function password($string, $min = 8, $max = 30) {
    76.         $string = strip_tags($_POST[$string]);
    77.         $this->cfe->enLengthString($string, $min, $max);
    78.         $this->password = $string;
    79.         return $this;
    80.     }
    81.     public function checkPassword($string) {
    82.         $string = strip_tags($_POST[$string]);
    83.         return $this;
    84.     }
    85.     public function input($string) {
    86.         $string = strip_tags($_POST[$string]);
    87.         return $this;
    88.     }
    89.     public function text($string) {
    90.         $string = strip_tags($_POST[$string]);
    91.         $this->text = $string;
    92.         return $this;
    93.     }
    94.     public function check($string) {
    95.         $check = $_POST[$string];
    96.         $this->cfe->checked($check);
    97.         $this->check = $check;
    98.         return $this;
    99.     }
    100.     public function hash($string) {
    101.         $this->hash = $string;
    102.         return $this;
    103.     }
    104.  
    105. }
    --- Добавлено ---
    Короче два остальных капота функций, которые наследуют мои контроллеры и модели сюда не влезают большие сильно обидно. Ну короче модуль я скинул вот он :)
    --- Добавлено ---
    Регистрацию сейчас делаю думаю ща до конца рабочего дня допилю и будет автоматический сбор форм авторизации.
     
  25. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206