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

tigr1945, не пойму или вы действительно гений php © отзыв у вас или... сей ваш код немного абсолютно бредовый
[code]
if(isset($_POST['user_name']) && !empty($_POST['user_name']) && is_numeric($_POST['user_name']))) // есть переменнва и не пустая
{
$_POST['user_name']=is_numeric($_POST['user_name']);
}
else
{
$error_val[]="Имя должно содержать тока цифры 0-9";
}
[/code]

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

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

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

объясни плиз зааачем тут isset или зачем тут !empty... в данном конкретном случае.. ну не пойму никак (
[code]Isset($_POST['user_name']) && !empty($_POST['user_name'])[/code]
Владимир Лукьяненко
124 сообщения
#19 лет назад
потому что я не ставлю @. и что бы небыло нитисов
 A.
120 сообщений
#19 лет назад
а одновременно isset с empty там зачем? чтобы точно небыло нитисов?
Владимир Лукьяненко
124 сообщения
#19 лет назад
хорошо напишите правильный код,
Дано поле ввода. ограничение: должны быть только цифры.
на выходе или то что ввел пользователь или текст ошибки которую совершил пользователь.
Это конечно при желании
 A.
120 сообщений
#19 лет назад
[code]if (!isset($_POST['name'])) {
die('забыли ввести');
} elseif (ctype_digit($_POST['name'])==false) {
die('не цифра');
} else {
echo $_POST['name'];
}[/code]
Станислав Малкин
1410 сообщений
#19 лет назад
Andreika, я не показывал рабочий вариант, я показал, что нужно убрать @ и сделать обработку ошибки. Все. Я не декларировал, что эти 2 куска кода взаимозаменимы.
Владимир Лукьяненко
124 сообщения
#19 лет назад
замечательно 5 садитесь
Станислав Малкин
1410 сообщений
#19 лет назад
Кстати я тоже рекомендую использовать 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 сообщений
#19 лет назад
ArtLab, зачем нужна ваша декларация человеку неразбирающемуся? он скопирует и будет щаслив .. (как мы уже выяснили отвечая на код tvv вы не ему про @ рассказывали) .. зачем давать заведомо более нерабочий пример?
Станислав Малкин
1410 сообщений
#19 лет назад
[quote="Andreika"]Так.. теперь я вообще ничего не понял) ты тока что доказал ArtLab у что его код неправильный был))) тут я с тобой согласен)))[/quote]

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

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

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

[quote="Andreika"]ArtLab\зачем давать заведомо более нерабочий пример?[/quote]

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

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

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