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

Форум PHP

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

 

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

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

тема: Объясните почему не работает
 
 автор: BiFF   (17.05.2008 в 19:36)   письмо автору
 
 


if(strlen($_POST['summa']) < 2 && !ctype_digit($_POST["summa"]))
.......

Почему не работает такая конструкция и как сделать правильно?

   
 
 автор: DEM   (17.05.2008 в 19:58)   письмо автору
 
   для: BiFF   (17.05.2008 в 19:36)
 

У меня всё норм... Попробуйте может $_POST["summa"] написать с одинарными кавычками как в первом случае?

   
 
 автор: BiFF   (17.05.2008 в 20:10)   письмо автору
 
   для: DEM   (17.05.2008 в 19:58)
 

Вот почти весь код, в поле сумма достаточно вести 2 буквы или одну цифру и все ок, а д.б. сообщение об ишибке

<?php
if (!empty($_POST["pay"]))
{
   if(
strlen($_POST['nom_dog']) < 3){
    
$nom_dog '';
    
$error '&#8250;&#8250; Вы забыли указать номер договора!';
    }else{
    
$nom_dog $_POST['nom_dog'];
    }
    
    if(
strlen($_POST['summa']) < && !ctype_digit($_POST['summa'])){
    
$summa '';
    
$error .= '&#8250;&#8250; Вы забыли заполнить поле сумма или не заполнили его правильно!';
    }else{
    
$summa $_POST['summa'];
    }
    
    if(!
$error){
    
$no_error 1;
    }else{
     echo 
'<strong>Допущены ошибки :</strong><br> '.$error.'<br>';
    }
}

if(!
$no_error){
?>
<form action="index.php" method="POST">
Номер договора:
<input  type="text" name="nom_dog" size="10" maxlength="10" value="<?php echo $_POST['nom_dog'];?>">
Сумма:
<input type="text" name="summa" size="5" maxlength="5" value="<?php echo $_POST['summa'];?>">
<input type="submit" name="pay" value="Оплатить">
</form>
<?php
}
else
{
Идем дальше
}

В чем ошибка?

   
 
 автор: constructor   (17.05.2008 в 20:25)   письмо автору
 
   для: BiFF   (17.05.2008 в 20:10)
 


if(strlen($d) < 2 || !ctype_digit($d))

Так должно работать, т.к ошибка должна возникать когда число меньше 10 или когда в числе не только цифры.

   
 
 автор: BiFF   (17.05.2008 в 21:04)   письмо автору
 
   для: constructor   (17.05.2008 в 20:25)
 

Все верно, большое спасибо.

   
 
 автор: constructor   (17.05.2008 в 20:11)   письмо автору
 
   для: BiFF   (17.05.2008 в 19:36)
 

.

   
 
 автор: BiFF   (17.05.2008 в 20:18)   письмо автору
 
   для: constructor   (17.05.2008 в 20:11)
 

.

   
Rambler's Top100
вверх

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