1

ウェブサイトにアクセスするたびにインクリメントするカウンターを自分のページに配置する必要がありましたが、かなり単純ですね...

問題が発生しました。コードは正しいように見えますが、何らかの理由でページ カウンターがまったく増加しません。

<?php
if (!isset($_COOKIE["visitCount"])) {
    setcookie("visitCount", 1);
} else {
    $_COOKIE["visitCount"]++;
}

echo $_COOKIE["visitCount"];

ページを何度更新しても、常に2のままです。助けていただければ幸いです。

4

2 に答える 2

3

初めてアクセスする前に、変数を設定する必要があります。

したがって、まだ設定されていない場合は、使用する前に設定する必要があります。

設定されている場合は、入力をサニタイズ/検証する必要もあります。

<?php

$name = "visitCount";

if (!isset($_COOKIE[$name])) {
    $_COOKIE[$name] = 0;
}
$_COOKIE[$name] = 1 + (int) max(0, $_COOKIE[$name]);
$result = setcookie($name, $_COOKIE[$name]);
if (!$result) {
    throw new RuntimeException("Failed to set cookie \"$name\"");
}

これらのエラーを見つけやすくするには、開発用のエラー レポートを有効にします。

于 2013-11-03T13:59:11.877 に答える
1

これを試して

setcookie('visitCount', isset($_COOKIE['visitCount']) ? $_COOKIE['visitCount']++ : 1);
于 2013-11-03T13:57:55.900 に答える