Вопрос

Я пишу простую функцию, и по какой-то причине (возможно, простой) она не работает для меня, и мне было интересно, можете ли вы, ребята, помочь мне.

function check_value($postID) 
    {
        $ID = $postID;
        $cookie = 

Я пишу простую функцию, и по какой-то причине (возможно, простой) она не работает для меня, и мне было интересно, можете ли вы, ребята, помочь мне.

<*>

Пытаясь выяснить, в чем проблема, я поместил эту строку эха над оператором If, чтобы убедиться, что в переменных действительно есть что-то.

Моя проблема в том, что оператор IF никогда не печатается.

$ postID - это число 123123 .

Строка $ cookie обычно выглядит как 123123.23422.234234.2342342.234234

Спасибо за вашу помощь!

COOKIE['list_of_IDS']; $position = strpos($cookie,$ID); echo 'ID:'.$ID.'-Cookie:'.$cookie; if ($position !== false) { echo "ID is in the cookie"; } }

Пытаясь выяснить, в чем проблема, я поместил эту строку эха над оператором If, чтобы убедиться, что в переменных действительно есть что-то.

Моя проблема в том, что оператор IF никогда не печатается.

$ postID - это число 123123 .

Строка $ cookie обычно выглядит как 123123.23422.234234.2342342.234234

Спасибо за вашу помощь!

Это было полезно?

Решение

Strpos не будет работать с int, поэтому вам нужно преобразовать идентификатор в строку. Попробуйте это:

$ID = (string)$postID;

Другие советы

Обратите внимание, что если ваша строка cookie выглядит как 123123.23422.234234.2342342.234234 и вы ищете идентификатор, скажем, 1231 или 23 Ваша функция вернет TRUE , хотя на самом деле этого идентификатора нет в списке. Ваша текущая реализация strpos () также будет соответствовать частичным числам.

Вот простой обходной путь, который потребует, чтобы идентификатор был окружен точками.

$position = strpos('.'.$cookie.'.', '.'.$ID.'.');

да, как сказал Брок, Strpos не будет работать с int, так что вам нужно разыграть id. так что нужно немного изменить свой код.

function check_value($postID) 
    {
        $ID = $postID;
        $cookie = 

да, как сказал Брок, Strpos не будет работать с int, так что вам нужно разыграть id. так что нужно немного изменить свой код.

<*>COOKIE['list_of_IDS']; $position = strpos($cookie,$ID); echo 'ID:'.$ID.'-Cookie:'.$cookie; if ($position !== false) { echo "ID is in the cookie"; } }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top