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

Форум Регулярные Выражения

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

 

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

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

тема: только цифры
 
 автор: dedev   (09.11.2006 в 09:56)   письмо автору
 
 

Имею код

<?  
if (isset($go))  // проверка нажатия кнопки
if (isset($_POST['v1']) && isset($_POST['v2']) && isset($_POST['v3']))  
{  
  
$t $_POST['v1'] + $_POST['v2'] + $_POST['v3'];  
  elseif (
$t<=15 && $t>0) echo "Ответ 1";  
  elseif (
$t<=25 && $t>15) echo "Ответ 2";  
  else echo 
"Ответ 3";  
}  
else echo 
"Вы ответили не на все вопросы";  
?>  

Передаются только цифры
Как прикрутить этот код к $_POST['vn']
<?php 
if(preg_match('/[0-9]/'$var)){ 
  
// действия, если содержит 

?>

   
 
 автор: Yakor   (09.11.2006 в 10:41)   письмо автору
 
   для: dedev   (09.11.2006 в 09:56)
 

<?   
if (isset($go))  // проверка нажатия кнопки 
if (isset($_POST['v1']) && isset($_POST['v2']) && isset($_POST['v3']))   
{   
  
$t intval($_POST['v1']) + intval($_POST['v2']) + intval($_POST['v3']);   
  elseif (
$t<=15 && $t>0) echo "Ответ 1";   
  elseif (
$t<=25 && $t>15) echo "Ответ 2";   
  else echo 
"Ответ 3";   
}   
else echo 
"Вы ответили не на все вопросы";   
?>


можно еще через приведение типов, так вроде еще быстрее будет..

   
 
 автор: dedev   (09.11.2006 в 11:25)   письмо автору
 
   для: Yakor   (09.11.2006 в 10:41)
 

Подскажите, корректен ли код в части проверке передачи только цифр

<?   
if (isset($go))  // проверка нажатия кнопки 
if (isset($_POST['v1']) && isset($_POST['v2']) && isset($_POST['v3']))   
{   
if(
preg_match('/[0-9]/'$t)){  
  
$t $_POST['v1'] + $_POST['v2'] + $_POST['v3'];   
  elseif (
$t<=15 && $t>0) echo "Ответ 1";   
  elseif (
$t<=25 && $t>15) echo "Ответ 2";   
  else echo 
"Ответ 3";   
}
  }  
else echo 
"Вы ответили не на все вопросы";   
?>

   
 
 автор: ЯR   (09.11.2006 в 11:30)   письмо автору
 
   для: dedev   (09.11.2006 в 11:25)
 

нужно писать не /[0-9]/, а /^[0-9]+$/ или /^\d+$/

   
Rambler's Top100
вверх

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