Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как сделать проверку поля?
 
 автор: Speaker   (25.01.2007 в 15:40)   письмо автору
 
 

У меня есть такие поля типа Kolvo_1, Kolvo_2 ,Kolvo_3 ,Kolvo_4 ,Kolvo_5 и необходимо сделать проверку этих полей на коректность заполнения туда данных чтобы там не были строковые величины, могли забивать только числа. Подскажите как сделать!

   
 
 автор: RV   (25.01.2007 в 15:43)   письмо автору
 
   для: Speaker   (25.01.2007 в 15:40)
 

is_numeric()

   
 
 автор: Speaker   (25.01.2007 в 15:53)   письмо автору
 
   для: RV   (25.01.2007 в 15:43)
 

Ну я делаю вот так
for($i = 1; $i < 5; $i++)
$varName = "Kolvo_" + $i;
if (!(ereg("[0-9]", $varName))):
$errorheader = "<p class=\"TABLETEXT\"><b>ОШИБКА: НЕПРАВИЛЬНО ЗАПОЛНЕННО ПОЛЕ КОЛИЧЕСТВО</b></p>";
$errormessage = "<p class=\"TEXT\">Введенный вами поле количество содержит недопустимые символы или имеет неправильный формат. При заполнении поля количество можно использовать только цифры </p>
<p class=\"TEXT\">Вы можете выполнить следующие действия:</p>";
Все равно пропускает!

   
 
 автор: bronenos   (25.01.2007 в 16:08)   письмо автору
 
   для: Speaker   (25.01.2007 в 15:53)
 

[0-9]+
если регулярными

   
 
 автор: Sergey89   (25.01.2007 в 16:09)   письмо автору
 
   для: bronenos   (25.01.2007 в 16:08)
 

Это уже перебор. Достаточно сравнить скорость работы is_int и preg_match

   
 
 автор: kasmanaft   (25.01.2007 в 16:24)   письмо автору
 
   для: Speaker   (25.01.2007 в 15:53)
 

>> Все равно пропускает!
Ваше регулярное выражение будет пропускать все $varName, где есть хотя бы одна цифра. Для того, чтобы проверить все ли символы в строке - цифры, можно использовать такое рег выражение:

^[0-9]+$

   
 
 автор: bronenos   (25.01.2007 в 18:09)   письмо автору
 
   для: kasmanaft   (25.01.2007 в 16:24)
 

Извиняюсь, ошибся :)
Про is numeric я вообще забыл

   
 
 автор: Sergey89   (25.01.2007 в 16:04)   письмо автору
 
   для: Speaker   (25.01.2007 в 15:40)
 

is_int() - если поля должны хранить целочисленные значения

   
 
 автор: Speaker   (25.01.2007 в 16:16)   письмо автору
 
   для: Sergey89   (25.01.2007 в 16:04)
 

У меня просто форма по отправке на e-mail. У меня она сделана просто без БД на MySQL.Ничего у меня не должно хравнится просто заполнение формы и её отправка. А проверять я должен скриптом.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования