[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Неправильный тип переменной в скрипте
DZHETIGAPA
Делаю смс-биллинг, котоырй встраиваю во флеш. Из флеша, когда пользователь вводит секретный ключ, идет запрос на пхп скрипт. Скрипт примитичный, но почему-то не работал.

Вот такой скрипт не работает:

if($_POST['code']=='1111')

Это условие не срабатывало, хотя я во флеше вводил четыре единицы. А вот такое условие работает:

if($_POST['code']==1111)


Я сразу понял, что тут дело с типами. Мне же нужно, чтобы переменная $_POST['code'] обрабатывалась как строковая переменная. Я уже использовал и strval, string, чтобы привести и перевести в строковую переменную, но так ничего не помогло. Первое условие все равно ен выполняется

В чем может быть дело? Как переменную $_POST['code'] сделать строковой?





Спустя 14 минут, 5 секунд (18.08.2011 - 12:30) SerginhoLD написал(а):
(string)$_POST['code']

#хотя если это секретный ключ из цифр то лучше так
$_POST['code']==(int)$число

Спустя 1 минута, 19 секунд (18.08.2011 - 12:31) Invis1ble написал(а):
Вобще-то php язык с динамической типизацией, поэтому интерпретатору должно быть пофиг в данном случае, строка или число
var_dump('1111' == 1111); // bool(true)

Тем более, что в $_POST, насколько мне известно, могут быть только строки.
Так что думаю проблема где-то в другом месте.

PS. Проверить тип очень просто - echo gettype($_POST['code']);

Спустя 24 секунды (18.08.2011 - 12:31) linker написал(а):
PHP сам приводит типы. Если там только числа, то приводить нужно к integer
if ((int)$_POST['code'] == 1111) {}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.