intval

12
veleg
На сайте с 30.01.2011
Offline
142
801
$number = intval($_GET['id']);

if ($number == $_GET['id'])
{
echo $number;
}

почему если ввести id=1v например, то выполняется условие?

Фигачу Телеграм-ботов ( https://teleg.run/veleg )
TF-Studio
На сайте с 17.08.2010
Offline
334
#1

фича пыха. приведение типов и все такое. там вообще много магии )

is_numerical лучше юзать

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
veleg
На сайте с 30.01.2011
Offline
142
#2
TF-Studio:
фича пыха. приведение типов и все такое. там вообще много магии )
is_numerical лучше юзать
$num = $_GET['id'];
if(((int)$num) > 0){echo $num;}

Ааааааа, мозг...

Да интересно было почему не робит.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#3

if ($number === $_GET['id'])

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
LeonCrab
На сайте с 30.01.2007
Offline
189
#4

Изучите http://php.net/manual/ru/language.operators.comparison.php

Нужно использовать оператор === вместо ==

Помощь в создании сайтов на MODX, Laravel, Slim. В личку. Хостинг, которому я доверяю (https://beget.com/p181956).
veleg
На сайте с 30.01.2011
Offline
142
#5
LEOnidUKG:
if ($number === $_GET['id'])

Да, конечно, это в самом начале пробовал. Вообще ничего не выводит, даже если $_GET['id'] - целое число.

---------- Добавлено 19.12.2016 в 13:46 ----------

LeonCrab:
Изучите http://php.net/manual/ru/language.operators.comparison.php

Нужно использовать оператор === вместо ==

Писал выше.

$number = intval($_GET['id']);

if ($number === $_GET['id'])
{
echo $number;
}

Не работает, даже если ?id=1

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#6

if ($number === (int)$_GET['id'])

ибо $_GET['id'] string по умолчанию.

---------- Добавлено 19.12.2016 в 13:58 ----------

а лучше вообще сделать сразу:

$_GET['id']=intval($_GET['id']);

S
На сайте с 30.09.2016
Offline
469
#7

veleg, а ведь мы обращали Ваше внимание на небезопасный SQL-запрос, но Вы тогда не поверили. Рад за Вас, что всё-таки решили проверить. Используйте в запросе не $_GET, а результат обработки - и всё будет хорошо.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#8
Sitealert:
А ведь мы обращали Ваше внимание на небезопасный SQL-запрос, но Вы тогда не поверили. Рад за Вас, что всё-таки решили проверить. Используйте в запросе не $_GET, а результат обработки - и всё будет хорошо.

А т.е. это был SQL запрос потом? То-то я думаю какие то условия идиотские, а это оказывается код из продакшена. 🍿

S
На сайте с 30.09.2016
Offline
469
#9
LEOnidUKG:
условия идиотские, а это оказывается код из продакшена

Главное - что человек задумался, а дальше - дело времени и техники.

veleg
На сайте с 30.01.2011
Offline
142
#10
Sitealert:
Главное - что человек задумался, а дальше - дело времени и техники.

Оно так и есть, но код который был в другой ветке - не полный, упрощенный. Он бы не выполнился на реальном проекте?

---------- Добавлено 19.12.2016 в 22:32 ----------

LEOnidUKG:
А т.е. это был SQL запрос потом? То-то я думаю какие то условия идиотские, а это оказывается код из продакшена. 🍿

Если прочесть первый пост, то вопроса, о том, как с помощью кода реализовать то или иное действие, не было.

Вопрос был в другом, почему предложенный код не работает. Вы почему-то решили, что мне нужна помощь и начали давать советы ;)

А код взят не из продакшена, а отсюда https://habrahabr.ru/post/143035/

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий