Вот такой скрипт не работает:
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 язык с динамической типизацией, поэтому интерпретатору должно быть пофиг в данном случае, строка или число
Тем более, что в $_POST, насколько мне известно, могут быть только строки.
Так что думаю проблема где-то в другом месте.
PS. Проверить тип очень просто - echo gettype($_POST['code']);
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) {}