konto usunięte
Temat: Ciasteczka
Witam. Czy ktoś może powiedzieć w czym rzecz? Mam skrypt który umożliwia dodawanie plusów i minusów do zdjęcia. Wszystko odbywa się za pomocą ajaxa, bez przeładowania strony. Jeżeli użytkownik nie dodawał jeszcze punktu to tworzony jest plik cookie. A teraz to co nie dziala: jesli plik cookie o określonej nazwie istnieje skrypt nie powinnien zwiększać liczby punktów. Obecnie za kazdym kliknieciem dodawany jest punkt.to kod realizujący odpowiedź dla js:
if (isset($_POST['name'])) {
$name = $_POST['name'];
if (isset($_COOKIE[$name]))
{
$response = $model->getImgInfos($name);
$response['info'] = 'Głosowałeś już na to zdjęcie.';
$response['class'] = 'red';
}
else
{
if($model->isInfo($name)) {
$data=array('up'=>new Zend_Db_Expr('up + 1'));
$table->update($data, "name='$name'");
} else {
$data=array('name'=>$name, 'up'=>1, 'down'=>0);
$table->insert($data);
}
$response = $model->getImgInfos($name);
setcookie($name, 'add', time()+3600*24*2, '/');
$response['info'] = 'Twój głos został dodany.';
$response['class'] = 'green';
}
echo json_encode($response);
}
skrypt nie wchodzi w
if (isset($_COOKIE[$name]))
{
$response = $model->getImgInfos($name);
$response['info'] = 'Głosowałeś już na to zdjęcie.';
$response['class'] = 'red';
}
nawet gdy taki plik istnieje.
### Edit
Może nowe pliki cookie są dostępne dopiero po przeładowaniu strony?Piotr Burant edytował(a) ten post dnia 30.01.12 o godzinie 19:10