A.
120 сообщений
#16 лет назад
SolNikolay, )

tigr1945, не пойму или вы действительно гений php © отзыв у вас или... сей ваш код немного абсолютно бредовый

if(isset($_POST) && !empty($_POST) && is_numeric($_POST))) // есть переменнва и не пустая
{
$_POST=is_numeric($_POST);
}
else
{
$error_val="Имя должно содержать тока цифры 0-9";
}


вообще ситуейшн какой-то забавный.. "фрилансеры исправляют работающий код из 2х строчек. попытка номер однатыщастопятнаццать)"
Владимир Лукьяненко
124 сообщения
#16 лет назад
Andreika, и вчем же конкретно бред?
 A.
120 сообщений
#16 лет назад
Isset($_POST) && !empty($_POST)
$_POST=is_numeric($_POST);
!empty($_POST)

надеюсь не прийдется объяснять почему?
Владимир Лукьяненко
124 сообщения
#16 лет назад
Andreika, ой да и правда тупанул
$_POST=htmlspecialchars(stripcslashes(($_POST));
 A.
120 сообщений
#16 лет назад
Остальное нормально?
а stripcslashes эт что и зачем? а htmlspecialchars?
Владимир Лукьяненко
124 сообщения
#16 лет назад
Andreika, я считаю нормально

Хорошо вы более умный я дурак.
надеюсь вопрос закрыт?
 A.
120 сообщений
#16 лет назад
tigr1945,
не хорошо... перед я запятую б..)

объясни плиз зааачем тут isset или зачем тут !empty... в данном конкретном случае.. ну не пойму никак (
Isset($_POST) && !empty($_POST)
Владимир Лукьяненко
124 сообщения
#16 лет назад
Потому что я не ставлю @. и что бы небыло нитисов
 A.
120 сообщений
#16 лет назад
А одновременно isset с empty там зачем? чтобы точно небыло нитисов?
Владимир Лукьяненко
124 сообщения
#16 лет назад
Хорошо напишите правильный код,
Дано поле ввода. ограничение: должны быть только цифры.
на выходе или то что ввел пользователь или текст ошибки которую совершил пользователь.
Это конечно при желании
 A.
120 сообщений
#16 лет назад
if (!isset($_POST)) {
die('забыли ввести');
} elseif (ctype_digit($_POST)==false) {
die('не цифра');
} else {
echo $_POST;
}
Станислав Малкин
1410 сообщений
#16 лет назад
Andreika, я не показывал рабочий вариант, я показал, что нужно убрать @ и сделать обработку ошибки. Все. Я не декларировал, что эти 2 куска кода взаимозаменимы.
Владимир Лукьяненко
124 сообщения
#16 лет назад
Замечательно 5 садитесь
Станислав Малкин
1410 сообщений
#16 лет назад
Кстати я тоже рекомендую использовать ctype_digit вместо is_numeric. Причина в документации:

Цитата:
bool is_numeric ( mixed var )

Finds whether the given variable is numeric. Numeric strings consist of optional sign, any number of digits, optional decimal part and optional exponential part. Thus +0123.45e6 is a valid numeric value. Hexadecimal notation (0xFF) is allowed too but only without sign, decimal and exponential part.
 A.
120 сообщений
#16 лет назад
ArtLab, зачем нужна ваша декларация человеку неразбирающемуся? он скопирует и будет щаслив .. (как мы уже выяснили отвечая на код tvv вы не ему про @ рассказывали) .. зачем давать заведомо более нерабочий пример?
Станислав Малкин
1410 сообщений
#16 лет назад
Цитата ("Andreika"):
Так.. теперь я вообще ничего не понял) ты тока что доказал ArtLab у что его код неправильный был))) тут я с тобой согласен)))


Правильно. Только в моем случае в блок проверки даже не зайдет, а в том, что с @ зайдет и отработает. И потратит процессорное время и ресурсы сервера, если там довольно существенная обработка. Вот сразу один большой минус использования @, когда отрабатывают куски кода, которые в принципе не должны обрабатываться.
 A.
120 сообщений
#16 лет назад
Цитата:
Правильно. Только в моем случае в блок проверки даже не зайдет

ага, оно пойдет сразу на отправку.. нафик чета проверять, лучше процессорное время сэкономим)) а если еще ereg заменить, то скрипт будет удачно завершаться раньше, чем запустицца, такой быстрый будет)
Станислав Малкин
1410 сообщений
#16 лет назад
Цитата ("Andreika"):
ArtLab, зачем нужна ваша декларация человеку неразбирающемуся? он скопирует и будет щаслив .. (как мы уже выяснили отвечая на код tvv вы не ему про @ рассказывали) .. зачем давать заведомо более нерабочий пример?


Я не знаю, что Вы выясняли и с кем. Я еще раз объясняю, я писал свой кусок кода, чтобы показать, что нужно обходиться без заглушек. Если Вы увидели другой смысл в куске кода, то Вам наверное виднее - Вы же не читаете то, что я пишу, Вы самоуверены и знаете, что я имел ввиду.

Цитата ("Andreika"):
ArtLab\зачем давать заведомо более нерабочий пример?


Пример рабочий. Он работает правильно. В нем нужно добавить только обработку на то, что переменная пустая. Поэтому он не есть заведомо более не рабочим примером. Если человек возьмет и просто скопирует и будет рад - грош цена такому программисту. "99% ошибок случается в результате бездумного копирования кусков кода" (с).
 A.
120 сообщений
#16 лет назад
что нужно обходиться без заглушек.
в русском языке это фраза должна звучать так - что можно обходиться без заглушек.
то, почему без них нужно обходиться вы не сказали, ограничившись словом "отладка"
Станислав Малкин
1410 сообщений
#16 лет назад
Цитата ("Andreika"):
Цитата:
Правильно. Только в моем случае в блок проверки даже не зайдет

ага, оно пойдет сразу на отправку.. нафик чета проверять, лучше процессорное время сэкономим)) а если еще ereg заменить, то скрипт будет удачно завершаться раньше, чем запустицца, такой быстрый будет)


Ваш стеб не уместен. В моем куске кода нигде не было указано, что что-то куда-то отправляется - это уже Ваша фантазия чистой воды. А экономить ресурсы сервера нужно обязательно. Если Вы не экономите - значит Вы еще очень плохой специалист и не имеете опыта разработки больших систем. Ничего, жизнь Вас научит экономить в ресурсах (надеюсь).