Question

J'écris une fonction simple et pour une raison quelconque (probablement simple), cela ne fonctionne pas pour moi et je me demandais si vous pouviez m'aider.

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

J'écris une fonction simple et pour une raison quelconque (probablement simple), cela ne fonctionne pas pour moi et je me demandais si vous pouviez m'aider.

<*>

En essayant de comprendre le problème, j’ai mis cette ligne d’écho au-dessus de la déclaration If afin de s’assurer que les variables contiennent des données.

Mon problème est que l'instruction IF ne s'imprime jamais.

Un $ postID est un nombre 123123 .

La chaîne $ cookie est généralement similaire à 123123.23422.234234.2342342.234234

Merci pour votre aide!

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

En essayant de comprendre le problème, j’ai mis cette ligne d’écho au-dessus de la déclaration If afin de s’assurer que les variables contiennent des données.

Mon problème est que l'instruction IF ne s'imprime jamais.

Un $ postID est un nombre 123123 .

La chaîne $ cookie est généralement similaire à 123123.23422.234234.2342342.234234

Merci pour votre aide!

Était-ce utile?

La solution

Strpos ne fonctionnera pas avec un int, vous devez donc convertir l'identifiant en chaîne. Essayez ceci:

$ID = (string)$postID;

Autres conseils

Notez que si votre chaîne de cookie ressemble à 123123.23422.234234.23423423434.234234 et que vous recherchez un identifiant, par exemple, 1231 ou 23 , votre fonction renverrait TRUE , alors que cet identifiant ne figure pas dans la liste. Votre implémentation actuelle de strpos () correspondra également à des nombres partiels.

Voici une solution de contournement simple selon laquelle l'ID doit être entouré de points.

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

oui, comme l'a dit Brock, Strpos ne fonctionnera pas avec un int, vous devez donc lancer l'identifiant. alors besoin de changer votre code.

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

oui, comme l'a dit Brock, Strpos ne fonctionnera pas avec un int, vous devez donc lancer l'identifiant. alors besoin de changer votre code.

<*>COOKIE['list_of_IDS']; $position = strpos($cookie,$ID); echo 'ID:'.$ID.'-Cookie:'.$cookie; if ($position !== false) { echo "ID is in the cookie"; } }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top