Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Jak zrobić jednorazowe linki?
abdiel
post 25.03.2009, 20:35:59
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 26.02.2007

Ostrzeżenie: (0%)
-----


Witam!
Mam pewien problem. Poszukuje rozwiązania, może nie koniecznie gotowego, ale chociaż naprowadzenia mnie na właściwy tor.
Chodzi dokładnie o jednorazowe linki. Wchodzi sobie zarejestrowany użytkownik na stronkę. Nie wiem czy to bedzie autorski CMS, czy np. Joomla.
Wchodzi i kilka na specjalnie wygenerowany dla niego wcześniej link, z którego może pobrać sobie dokument, lub inny plik, po czym po pobraniu tego pliku, link znika i jest już nieaktywny.
Jak można coś takiego zrobić?
Będę wdzięczny za pomoc, lub chociaż naprowadzenie mnie na poprawny tor rozumowania.
Jeżeli zły dział, to przepraszam.
Pozdr,
Abdiel.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
blooregard
post 25.03.2009, 21:14:30
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Do URL-a dodajesz kod, np 40-znakowy, generowany losowo i zapisujesz go w bazie, w tabeli z polem, powiedzmy "clicked" ustawionym na 0. Jeśli user wejdzie pod ten link, robisz UPDATE bazy i ustawiasz "clicked" na 1. Oczywiście przed tym UPDATE sprawdzasz, czy już wcześniej to pole nie miało wartości 1, co by oznaczło, że już było kliknięte. Wtedy wywalasz ładne okienko: "Sorry, już kliknięty"


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Fifi209
post 25.03.2009, 21:53:07
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(blooregard @ 25.03.2009, 21:14:30 ) *
Do URL-a dodajesz kod, np 40-znakowy, generowany losowo i zapisujesz go w bazie, w tabeli z polem, powiedzmy "clicked" ustawionym na 0. Jeśli user wejdzie pod ten link, robisz UPDATE bazy i ustawiasz "clicked" na 1. Oczywiście przed tym UPDATE sprawdzasz, czy już wcześniej to pole nie miało wartości 1, co by oznaczło, że już było kliknięte. Wtedy wywalasz ładne okienko: "Sorry, już kliknięty"


Ja bym proponował "kliknięte" po prostu usuwać. A kod to po prostu może być md5(time()) bo nie powtórzy się. ;d


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
abdiel
post 25.03.2009, 21:59:06
Post #4





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 26.02.2007

Ostrzeżenie: (0%)
-----


Dzięki wielkie za odpowiedź smile.gif
A co jeśli np. user nie pobierze pliku do końca. Czy da się zrobić tak, że link usuwa się po pobraniu pliku. Pytam czysto teoretycznie.
Widziałem kiedyś coś takiego na jakiejś stronce.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:40