Pregunta

Estoy escribiendo una función simple y por alguna razón (probablemente una simple) no me funciona y me preguntaba si ustedes podrían ayudarme.

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

Estoy escribiendo una función simple y por alguna razón (probablemente una simple) no me funciona y me preguntaba si ustedes podrían ayudarme.

<*>

Al tratar de averiguar cuál era el problema, puse esa línea de eco encima de la instrucción If allí para asegurarme de que realmente hay cosas en las variables.

Mi problema es que la declaración IF nunca se imprime.

Un $ postID es un número 123123 .

La cadena $ cookie suele ser algo así como 123123.23422.234234.2342342.234234

¡Gracias por tu ayuda!

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

Al tratar de averiguar cuál era el problema, puse esa línea de eco encima de la instrucción If allí para asegurarme de que realmente hay cosas en las variables.

Mi problema es que la declaración IF nunca se imprime.

Un $ postID es un número 123123 .

La cadena $ cookie suele ser algo así como 123123.23422.234234.2342342.234234

¡Gracias por tu ayuda!

¿Fue útil?

Solución

Strpos no funcionará con un int, por lo que debe convertir la ID en una cadena. Prueba esto:

$ID = (string)$postID;

Otros consejos

Tenga en cuenta que si su cadena de cookies se parece a 123123.23422.234234.2342342.234234 y está buscando una ID, por ejemplo, 1231 o 23 , su función devolvería TRUE mientras que esa ID no está en la lista. Su implementación actual de strpos () también coincidirá con números parciales.

Aquí hay una solución simple que requerirá que la ID esté rodeada de puntos.

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

sí, como dijo Brock, Strpos no funcionará con un int, por lo que debe emitir la identificación. así que necesita algún cambio en su código.

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

sí, como dijo Brock, Strpos no funcionará con un int, por lo que debe emitir la identificación. así que necesita algún cambio en su código.

<*>COOKIE['list_of_IDS']; $position = strpos($cookie,$ID); echo 'ID:'.$ID.'-Cookie:'.$cookie; if ($position !== false) { echo "ID is in the cookie"; } }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top