Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2012, 18:36   #1
Arsenx777
Delphi, c++, php
Форумчанин
 
Аватар для Arsenx777
 
Регистрация: 14.03.2011
Сообщений: 288
По умолчанию ООП в php

В чем у меня ошибка?

PHP код:
    class RegCls 
    
{
        function 
CheckVars() 
        {
        
            
$usurname false;
            
$ustory false;
            
$upsw false;
            
            if (
$_POST['_uName']!="")
            {
                
$usname preg_match("/^[а-яА-Я]{3,25}$/",$_POST['_uName']);
                if (
$usname
                {
                    if (
$_POST['_uSurName']!="")
                    {
                        
$ussurname preg_match("/^[а-яА-Я]{3,25}$/",$_POST['_uSurName']);
                        if (
$ussurname) {$usurname true;}
                    }
                    if (
$_POST['_uLogin']!=""
                    {
                        
$uslogin preg_match("/^[a-zA-Z0-9-_\.~@#]{3,25}$/",$_POST['_uLogin']);
                        if (
$uslogin)
                        {
                            if (
$_POST['_uEmail']!=""
                            {
                                
$usemail preg_match("/^(\S+)@([a-zA-Z0-9-]+)(\.)([a-zA-Z]{2,4})(\.?)([a-zA-Z]{0,4})+$/",$_POST['_uEmail']);
                                if (
$usemail)
                                {
                                    
$slen $_POST['_uStory'];
                                    if (
$slen != "")
                                    {
                                        if (
strlen($slen)>10 && (strlen($slen)<1001)) {$ustory true;}
                                    }
                                    if ((
strlen($_POST['_uPsw1']) >= 6) && strlen($_POST['_uPsw1']) <= 15
                                    {
                                        if (
$_POST['_uPsw2'] == $_POST['_uPsw1']) {$upsw true;}
                                    }
                                }
                            }
                        }
                    }
                }
            } 
            if (
$upsw
                {return 
true;} else 
                    {return 
false;}            
        }
        
        function 
Add_Data_db() 
        {
            if (
CheckVars()) 
            {
                echo 
"Yes!";
            }else {echo 
"No!";}
        }
    };
    
    
$reg = new RegCls();
    
    
$reg->CheckVars();
    
$reg->Add_Data_db(); 
Выдает оштбку Fatal error: Call to undefined function CheckVars()

Почуму он не находет вроде все правильно делаю?
Мудр тот, кто знает нужное, а не многое.

Arsenx777 вне форума Ответить с цитированием
Старый 06.04.2012, 19:20   #2
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию

Изучайте саму суть идеи ооп. В чем ее изначальный смысл и как ее грамотно использовать. Ниже рабочая версия вашего кода. При обращении из метода класса к методу того же класса если этот метод не статический нужно обращаться как $this->название метода. Если он статический то можно self::название метода

Код:
class RegCls { 
        public function CheckVars() { 
            $usurname = false; 
            $ustory = false; 
            $upsw = false; 
             
            if ($_POST['_uName']!=""){ 
                $usname = preg_match("/^[а-яА-Я]{3,25}$/",$_POST['_uName']); 
                if ($usname){ 
                    if ($_POST['_uSurName']!=""){ 
                        $ussurname = preg_match("/^[а-яА-Я]{3,25}$/",$_POST['_uSurName']); 
                        if ($ussurname) {$usurname = true;} 
                    } 
                    if ($_POST['_uLogin']!=""){ 
                        $uslogin = preg_match("/^[a-zA-Z0-9-_\.~@#]{3,25}$/",$_POST['_uLogin']); 
                        if ($uslogin){ 
                            if ($_POST['_uEmail']!=""){ 
                                $usemail = preg_match("/^(\S+)@([a-zA-Z0-9-]+)(\.)([a-zA-Z]{2,4})(\.?)([a-zA-Z]{0,4})+$/",$_POST['_uEmail']); 
                                if ($usemail){ 
                                    $slen = $_POST['_uStory']; 
                                    if ($slen != ""){ 
                                        if (strlen($slen)>10 && (strlen($slen)<1001)) {$ustory = true;} 
                                    } 
                                    if ((strlen($_POST['_uPsw1']) >= 6) && strlen($_POST['_uPsw1']) <= 15){ 
                                        if ($_POST['_uPsw2'] == $_POST['_uPsw1']) {$upsw = true;} 
                                    } 
                                } 
                            } 
                        } 
                    } 
                } 
            }  
            if ($upsw) return true; else return false;             
        } 
         
        public function Add_Data_db(){ 
            if ($this->CheckVars()) echo "Yes!"; else echo "No!"; 
        } 
    }
     
    $reg = new RegCls(); 
     
    $reg->CheckVars(); 
    $reg->Add_Data_db();
nec117 вне форума Ответить с цитированием
Старый 06.04.2012, 20:20   #3
Arsenx777
Delphi, c++, php
Форумчанин
 
Аватар для Arsenx777
 
Регистрация: 14.03.2011
Сообщений: 288
По умолчанию

Спасибо, я также делал только this писал без $ , поэтому не работало, и решил так оставить)
Мудр тот, кто знает нужное, а не многое.

Arsenx777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача ООП на php Gamestop Помощь студентам 3 12.03.2014 14:59
Видео уроки ООП / PHP pompiduskus PHP 9 28.03.2012 22:43
Try, throw, catch; нужно ли знать ООП PHP для изучения исключений? alex455 PHP 1 01.08.2011 13:46
Паскаль ООП. Примеры программ с использованием ООП SeЯgey Помощь студентам 5 13.05.2009 21:55