Zuätzlich zu einem normalen
Login mit PHP benötigst du noch eine Tabelle
Voucher mit den Feldern
ID,
Gültigkeitsdauer und
Einlösedatum, ggf. noch
Benutzer, wenn ein Voucher nur für einen Benutzer gültig sein soll.
Wird ein Voucher erstellt, werden nur die Felder
ID und
Gültigkeitsdauer (und ggf.
Benutzer) gefüllt. Will sich ein Nutzer dann anmelden, muss er zusätlich zu seinen Credentials eine Voucher-ID eingeben. Beim Login kann dann überprüft werden, ob der Voucher schon mal verwendet wurde (Einlösedatum ist
NULL), ober der Voucher gültig ist (Einlösedatum + Gültigkeitsdauer </= aktuelles Datum) oder ob der Voucher abgelaufen ist (Einlösedatum + Gültigkeitsdauer > aktuelles Datum). Wie du die unterschiedlichen Ergebnisse dann behandeln willst, ist dir selbst überlassen...
Und um einen Voucher zu tracken musst du einfach nur jedem Inhalt eine eindeutige ID verpassen, den Voucher nach dem Login in eine Session speichern und bei jedem Aufruf eines Inhalts die entsprechende ID und den Voucher in eine DB verschieben.
Edit: Das ganze funzt natürlich auch ohne das PHP-Login... Dann wird nur überprüft ob der Voucher bekannt/gültig/abgelaufen ist...