Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> класс обработки форм 
:(
    Опции темы
mielnir
Дата 6.12.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



Написал класс. Просьба попинатьsmile
Код

<?php
/**
 *        Тестовая версия
*/
class formHandling    {

    public $value;
    private $_type;
    public $error = 0;

    function __construct( $go, $value, $type )    {
        if( !isset($go) )    {
            $this->error = 1;
            exit();
        }
        if( !isset($value) )    {
            $this->error = 2;
            exit();
        }
        $this->value = $value;
        $this->_type = $type;
    }
    public function isEmpty()    {
     if( trim( $this->value) == '' )    {
            return true;
        }    else    {
         return true;
        }
    }
    private function isNumeric()    {
     return is_numeric( $this->value );
    }
    private function isInt()    {
     return is_int( $this->value );
    }
    private function isNat()    {
     if( is_int( $this->value ) && $this->value > 0 )    {
         return true;
        }
    }
    private function isEmail()    {
     if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $this->value))    {
         return false;
        }    else    {
         return true;
        }
    }
    private function checkUrl()    {
        $http = strtr($http, "HTPF", "htpf");
     if( strtolower( ( substr( $this->value, 0, 7) ) != "http://" ) && ( strtolower( substr( $this->value, 0, 7 ) ) != "ftp://" ) )    {
         $this->value="http://".$this->value;
        }
    }
    public function isValid()    {
     switch( $this->_type )    {
            case 'float': if( !$this->isNumber() ) { return false; } break;
            case 'natural': if( !$this->isNat() ) { return false; } break;
            case 'integer': if( !$this->isInt() ) { return false; } break;
            case 'email': if( !$this->isEmail() ) { return false; }break;
            case 'url': checkUrl(); break;
        }
        return true;
    }
}


?>


Это сообщение отредактировал(а) mielnir - 6.12.2006, 17:07
PM MAIL   Вверх
SamDark
Дата 7.12.2006, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



Что такое $go?


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Ashen
Дата 7.12.2006, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 1.9.2006

Репутация: нет
Всего: нет



И допиши что-нить типа

Код

function formHandling($go, $value, $type)
{
    $this->__construct($go, $value, $type);
}

для совместимости с 4 пхп
--------------------
Хочешь помочь новичку - делай вместе с ним;Хочешь помочь старику - сделай за него;Хочешь помочь мастеру - отойди в сторону;Хочешь помочь дураку - сам дурак...
PM MAIL   Вверх
mielnir
Дата 7.12.2006, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



SamDark,  $go - значение поля submit. Вообще, напрягает сама структура класса - как-то все криво. Но лучше ничего не могу придумать...
PM MAIL   Вверх
mishaSL
Дата 2.2.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Ashen, от этого он не станет совместимым с php4


mielnir, приведи пример работы этого класса для проверки какой-либо формы. Есть такое побозрение что, кода будет в 2-3 раза больше? А ведь по идее он должен упращать работу с формами.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Mal Hack
Дата 2.2.2007, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Читаем про суперглобальные массивы в документации и это: http://vingrad.ru/PHP-ART-002846
PM ICQ   Вверх
mishaSL
Дата 3.2.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Mal Hack, это ты к чему???


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.