Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 85 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2010, 12:16   #1
sergeyfromkomi
 
Регистрация: 23.04.2010
Сообщений: 3
По умолчанию исправить это условие чтоб "1" выводилось на терминал даже если $stdat2[9] принимала не числовые значения

Добрый день ув. программисты..! Наверно для вас этот вопрос покажется смешным...я не программист. Заним. Cisco(нужен скрип для неё)

Переменная $stdat2[9] чащего всего принимает числовое значение... но иногда она может принять такие: Active или Idle.
У меня есть такое условие :
Код:
if ( ($stdat2[9] < 50000) and ($status == 0) )
{
        print ("1 \n");

}
как видно если $stdat2[9] < 50000, то на терминал выводить "1", а КАК дописать/исправить это условие чтоб "1" выводилось на терминал даже если $stdat2[9] принимала не числовые значения..... (Active или Idle или какие либо другие...)?
sergeyfromkomi вне форума Ответить с цитированием
Старый 23.04.2010, 16:31   #2
Vertexxx
Заблокирован
 
Регистрация: 10.04.2010
Сообщений: 145
По умолчанию

Может так?
PHP код:
if ( ($stdat2[9] < 50000 || ! is_numeric($stdat2[9])) && $status == 0)
{
        print (
"1 \n");


Но тут есть кое-какая дыра. Можно ввести любое нецифровое значение, что, я думаю, не есть хорошо

Последний раз редактировалось Vertexxx; 23.04.2010 в 16:44.
Vertexxx вне форума Ответить с цитированием
Старый 23.04.2010, 17:11   #3
sergeyfromkomi
 
Регистрация: 23.04.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Vertexxx Посмотреть сообщение
Может так?
PHP код:
if ( ($stdat2[9] < 50000 || ! is_numeric($stdat2[9])) && $status == 0)
{
        print (
"1 \n");


Но тут есть кое-какая дыра. Можно ввести любое нецифровое значение, что, я думаю, не есть хорошо
как это можно поправить?

Undefined subroutine &main::is_numeric called at /usr/local/etc/zabbix/externalscripts/bgp.check
sergeyfromkomi вне форума Ответить с цитированием
Старый 23.04.2010, 17:33   #4
Vertexxx
Заблокирован
 
Регистрация: 10.04.2010
Сообщений: 145
По умолчанию

Цитата:
Сообщение от sergeyfromkomi Посмотреть сообщение
как это можно поправить?

Undefined subroutine &main::is_numeric called at /usr/local/etc/zabbix/externalscripts/bgp.check
Так это ж не пых)))
Vertexxx вне форума Ответить с цитированием
Старый 23.04.2010, 22:55   #5
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

Я уточню? ок?
С кисками работают через cmd, telnet, ssh с помощью терминальных приложений, которые служат своеобразным переводчиком между нажатием кнопки в оболочке и самой консолью циски. Соответственно пых (php) тут в самый раз.
Код:
if ( ($stdat2[9] < 50000) ## меньше 50000 
or ( $stdat2[9]) <> "")## непустое значение
 and ($status == 0) )
{
        print ("1 \n");

}
можно так ?
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".

Последний раз редактировалось bush007; 23.04.2010 в 23:01.
bush007 вне форума Ответить с цитированием
Старый 24.04.2010, 10:44   #6
sergeyfromkomi
 
Регистрация: 23.04.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от bush007 Посмотреть сообщение
Я уточню? ок?

Код:
if ( ($stdat2[9] < 50000) ## меньше 50000 
or ( $stdat2[9]) <> "")## непустое значение
 and ($status == 0) )
{
        print ("1 \n");

}
можно так ?
я так понимаю это на perl...? я использ. Net::Telnet::Cisco(perl)
sergeyfromkomi вне форума Ответить с цитированием