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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форма e-mail и телфона, запсиь в БД. 
:(
    Опции темы
avtogen
  Дата 19.10.2010, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравтсвуйте. 

Такой вопрос... 
из системы имееться страница, на ней пользователь заполняет различные данные...    и на этой странице так же есть форма для заполнения e-mail пользователя и номера телефона пользователя.   такие: 

Код


//  остальной код



       <form method=post>

    <tr>
    <td><b>*E-mail:</b></td><br /> 
    <td><input type="text" style="width: 160px;" name="email" value=""></td>
    </tr><br />

    <tr>
    <td><b>Номер телефона:</b></td><br />
    <td><input type="text" style="width: 160px;" name="realphone" value=""></td>
    </tr><br />

    <tr>
    <td></td>
    <td><center><input class="button" type=submit value="Send" name="send"></center></td>
    </tr>

//  остальной код



и эти данные отправляються в базу через $_POST таким образом: 

Код


//  остальной код

    if (isset($_POST['send']) )
    {

        // запрос на запись данных.
        mysql_query('UPDATE .....тут запрос.......') or die(mysql_error()); 
        echo '<b>Сохранено</b><br />';
        return false;
    }

//  остальной код


моя проблема в том, что таким образом в поле e-mail можно записать любые символы, в том числе и недопустимые... а так же русские буквы.
и нет проверки на формат мыла, например [email protected]

правильно ли будет сделать такую проверку следующим методом:

Код


//  остальной код

    if (isset($_POST['send']) )
    {
            if (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) 
           {
        echo '<b>Неверно заполнено поле E-mail</b><br />';
        return false;
           }  
        // запрос на запись данных.
        mysql_query('UPDATE .....тут запрос.......') or die(mysql_error()); 
        echo '<b>Сохранено</b><br />';
        return false;
    }

//  остальной код


либо есть какой-то еще вариант? 

И что касательно поля для номера телефона... по форумум полазил, нигде найти несмог примера формы для номера телефона... 



PM MAIL   Вверх
Guedda
Дата 20.10.2010, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



Цитата(avtogen @  19.10.2010,  21:36 Найти цитируемый пост)
правильно ли будет сделать такую проверку следующим методом:

Да. А вообще:
Цитата(avtogen @  19.10.2010,  21:36 Найти цитируемый пост)
либо есть какой-то еще вариант?

Не стоит изобретать велосипед, есть куча скриптов валидаторов, ими и пользуйтесь.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
avtogen
Дата 20.10.2010, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Понятно... 

А вот еще аналогичным образом сделал для формы ICQ номера. 

Код

     if (!preg_match("/^[0-9]/", $_POST['icqnumber']) && ($_POST['number'] != '')) 
    {
      echo '<b>Не верно заполнено поле ICQ.</b>';
      return false;
    } 


Получилось атк что если запрещенный символ будет в начале то выдаст ошибку что поле заполнено неверно. А если к примеру ввести в форму: 343%   и сохранить... то сохраниться с символом, и не обноружит что в форме был указан символ.  Это из за чего так? и можно ли поправить? 
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.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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