Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak skasować cookies po wyjściu?
Forum PHP.pl > Forum > Przedszkole
lolek18
Witam! Mam następujący problem. Prowadzę serwis internetowy. Mam na nim płatności dotpay. Wszystko gra. Po zapłacie i otrzymaniu kodu należy go wstukać aby wejść na płatną stronę. Tutaj też wszystko ok. Kod jest ważny 7 dni. I kiedy drugi raz wchodzę na stronę i wpiszę sobię adres strony płatnej jest ona wyświetlana bez problemu. Na początku jest sprawdzacz, więc użytkownik, który kodu nie zakupi nie wejdzie. Ale chciałbym aby kasowały się cookies i żeby użytkownik, który kod zakupił musiał ponownie go wpisać a nie że sobie wpisze adres strony płatnej i juz jest. Proszę o radę i skrypt.
Cezar708
aby skasować cookie musisz ustawić drugie (takie same) nadpisując stare z expiry date ustawioną w przeszłość. lub puste:

  1. <?php
  2. setcookie('nazwa_ciacha');
  3. ?>


Pozdrawiam
lolek18
w sparwdzaczu mam takie coś:

<?php if (!isset($_COOKIE['ActiveCode']))
{
print "koniec czasu<BR>wróć na <a href=index.php>stronę główn&plusmn;</a> i wykup płatny dostęp.";
unset($_COOKIE[session_name()]);
exit;
}
?>

więc ten skrypt, który podałeś mam wkleić na stronę, która uruchamia się po podaniu kodu sadsmiley02.gif i w któym miejscu? na końcu czy na początku ?
Cezar708
Szczerze powiem, że nie powinieneś takich informacji jak autoryzacja płatności trzymać w ciachu.
Co się stanie, jeśli użytkownik skasuje ręcznie ciacho? A co się stanie gdy dane ciacho zostanie porwane użytkownikowi, wtedy na jego konto każdy będzie mógł wchodzić.

Lepiej taką informację trzymać w bazie danych na serwerze, wtedy problem ciacha zniknie. Tyle dygresji...

... a jeśli chcesz usunąć ciacho to w Twoim kodzie powinno to wyglądać tak:

  1. <?php if (!isset($_COOKIE['ActiveCode']))
  2. {
  3. print "koniec czasu<BR>wróć na <a href=index.php>stronę główn&plusmn;</a> i wykup płatny dostęp.";
  4. // unset($_COOKIE[session_name()]);
  5. setcookie('ActiveCode'); // tu usuwasz ciacho z przeglądarki
  6. }
  7. ?>


~EDIT
Sorry bez sensu... przecież juz w tym IF ciacho nie istnieje...

w takim razie sam musisz zadecydować jak usunąć ciacho... może do tego być pomocne zdarzenie w przeglądarce:
  1. <body onunload="document.location.href='skrypt_usuwajacy_ciacho.php'">


oczywiście zawartość skryptu skrypt_usuwajacy_ciacho.php:
  1. <?php
  2. setcookie('ActiveCode');
  3. ?>
-lolek18-
Ok wszytsko pasi. POzdrawiam i dzięks!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.