Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP: ООП

Войти
Регистрация
Восстановить пароль
 
maxoun
20 / 30 / 5
Регистрация: 08.02.2018
Сообщений: 161
#1

подсчет строки - PHP ООП

14.02.2018, 09:44. Просмотров 187. Ответов 2
Метки нет (Все метки)

Добрый день , подскажите пожалуйста, у меня есть логин и пароль , в методе str я передаю 4 параметра (максимальную строку, минимальную, поле, и ошибку)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
class User{
    PRIVATE $par1,$par2;
    PUBLIC $str = array('>','<',':',';','"',"'",'*','^','%','$','#');
 
    PUBLIC function __construct($var1,$var2) {
        $this->par1 = self::fil_par($var1);
        $this->par2 = md5(self::fil_par($var2)).''.self::has_1($var2);
    }
 
    PUBLIC function fil_par($variable) {
        return str_replace($this->str,'',strip_tags(trim(filter_var($variable,FILTER_SANITIZE_STRING))));
    } 
 
    PUBLIC function vivod_par() {
        return (empty($this->par1) || empty($this->par2)) ? : array('login'=>$this->par1,'pass'=>$this->par2);
    }
 
    PUBLIC function has_1($sol) {
        $sol = rand(1000,1000000).''.uniqid();
        return $sol;
    }
 
    PUBLIC function str($max,$min,$var,$err) {
        return !(strlen($var)>$max || strlen($var)<$min) ? : $err;
    }
}
 
?>
При обращении к методу все работает.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    
        $user = new User($_POST['login'],$_POST['pass']);
        $p = $user->vivod_par();
        $str = $user->str(12,5,$p['login'],'Логин должен быть больше 5 и меньше 12<br/>');
        $str.= $user->str(12,6,$p['pass'],'Пароль должен быть больше 6 и меньше 12<br/>');
        if(is_array($p) && !empty($p) && !$str) {
            echo true;
        } else {
            echo $str;
        }
    ?>
Но как сделать так , чтобы вышли конкретные ошибки, к примеру Логин слишком маленький или к примеру Пароль слишком большой.
Я как бы создал , но мне приходится создавать два метода и обращаться к двум методам по два раза на логин и пароль. Так же пробывал на одном методе, но вся суть получается как в процедурном, что мне и не надо.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PUBLIC function str($max,$min,$var,$err) {
        $str = (strlen($var)<$max) ? : $err.' слишком большой<br/>';
        $str.= (strlen($var)>$min) ? :  $err.' слишком маленький<br/>';
        return $str;
    }
 
 
 
$user = new User($_POST['login'],$_POST['pass']);
        $p = $user->vivod_par();
        $str = $user->str(12,5,$p['login'],'Логин');
        $str = $user->str(12,6,$p['pass'],'Пароль');
        if(is_array($p) && !empty($p) && !$str) {
            echo $p['pass'];
        } else {
            echo $str;
        }
Можно ли переделать данный скрипт, так чтобы метод был как в первом примере или приблизительно так, но и чтобы он выводил конкретные ошибки, Слишком большой логин или же Слишком маленький пароль и т.д?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2018, 09:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос подсчет строки (PHP ООП):

Запретить подсчет определенного id - PHP
Доброго времени суток. Для CMS Joomla, существует не плохой компонент комментариев JComments. В нем, предусмотрен вывод лучших...

Подсчет купонов php+xml - PHP
всем привет! Как можно подсчитать количество купоно посредством php из xml?

подсчет файлов находящихся в папке - PHP
помогите написать новый или исправить мой скрипт подсчета файлов в определенной папке $count = 0; $dir = opendir(&quot;/dir/&quot;); ...

Подсчет слов, игнорируя html - PHP
Есть текст, содержащий html тэги; нужно после нного слова (элементы html не читать словом) функционалом вставить в текст переменную; ...

Подсчет посетителей с нескольких счетчиков - PHP
Здравствуйте, уважаемые участники форума. Столкнувшись с проблемой, не смог найти ответ на такой вопрос. У меня на сайте стоит несколько...

Подсчет количества показов баннера - PHP
Доброй ночи. Мне нужен скрипт, который будет считать количество показов баннера. При этом не так, что человек открыл страницу и показ...

2
полудух
177 / 161 / 30
Регистрация: 15.03.2016
Сообщений: 960
14.02.2018, 15:29 #2
regexp-ом чекать надо, а не это безобразие плодить:
return str_replace($this->str,'',strip_tags(trim(filter_var($variable,FILTER_SANITIZE_STRING))));
PHP
1
if (!preg_match("/^[-_a-z0-9A-Z,.:;!]{12,20}$/", $login.$pass)) {echo "No.";}
про filter_var() вообще забудьте, она непредсказуемая
0
maxoun
20 / 30 / 5
Регистрация: 08.02.2018
Сообщений: 161
16.02.2018, 09:03  [ТС] #3
Цитата Сообщение от полудух Посмотреть сообщение
regexp-ом чекать надо, а не это безобразие плодить:
Да согласен, регулярные выражения это мощный инструмент для таких работ, но вопрос был совершенно другой.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2018, 09:03
Привет! Вот еще темы с ответами:

Подсчет количества повторяющихся букв в файле - PHP
Всем привет. Существует следующая проблема. Дан символьный файл f: подсчитать число повторений в файле каждой из букв 'a','b','c','d',...

Подсчет пользователей, зашедших за последние n минут - PHP
подойдет ли такой способ для решения этого вопроса? запись идентификаторов сессии в файл или таблицу(записи естественно не повторяются,...

Подсчет записей в рубриках одним запросом - PHP
Народ! Подскажите пожалуйста как правильно сделать подсчет записей в рубриках, вот пример одного сайта...

Хочется сделать подсчет пользователей(онлайн) в чате? - PHP
может у кого-нть есть готовый скрипт счетчика?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru