Создание файлов cookie с помощью PHP (вопрос для начинающих) - PullRequest
0 голосов
/ 24 апреля 2010

Я использовал сессии раньше, но никогда не использовал куки. Я хотел бы использовать куки по двум причинам:
1) это что-то новое для изучения
2) Я бы хотел, чтобы срок действия файла cookie истек через час или более

Я пытаюсь написать базовое утверждение if, которое

      if($counter=="1") { //do this second 
} 
        elseif ($counter >="2") { //do this every time after the first and second
} 
        else {// this is the first action as counter is zero
}

Вот код, который я использую для установки куки:

 // if cookie doesnt exsist, set the default
    if(!isset($_COOKIE["counter_cookie"])) {
        $counter = setcookie("counter_cookie", 0 ,time()+40);

    }

    // increment it
     $counter++;



    // save it
     setcookie("counter_cookie", $counter,time()+40);
     $counter = $_COOKIE["counter_cookie"];

Проблема в том, что счетчик будет установлен от 0 до 1, но не будет установлен от 1 до 2 и так далее. Любая помощь была бы хороша, я знаю, что это действительно простой глупый вопрос: |

Спасибо!

1 Ответ

1 голос
/ 24 апреля 2010

Скорее всего, проблема связана с этой строкой:

$counter = setcookie("counter_cookie", 0 ,time()+40);

Похоже, вы ожидаете, что setcookie вернет значение, но этого не произойдет. Вместо этого setcookie просто вернет логическое значение true при успехе и false при ошибке.

http://php.net/manual/en/function.setcookie.php

Вы можете попробовать переписать его так, чтобы достичь желаемого эффекта:

if(isset($_COOKIE["counter_cookie"]))
{
  $counter = $_COOKIE["counter_cookie"];
}
else
{
  $counter = 0;
}
$counter++
setcookie("counter_cookie", $counter ,time()+40);
...