![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 12.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Hej. Mam do Was prośbę. Czy mógłby ktoś przerobić ten skrypt, aby każdy użytkownik mógł wysłać wiadomość raz na jakiś czas, powiedzmy 5 minut? Byłbym bardzo wdzięczny
![]()
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) ![]() ![]() |
Można to zrobić na sesji. Wrzucać do sesji czas unixowy i przy następnym wysłaniu formularz sprawdzać czy minął określony czas od ostatniego wysłania. Minus tego rozwiązania jest taki że można ominąć zabezpieczenie czyszcząc dane przeglądarki. Jeżeli masz tam rejestrację i wysyłają to użytkownicy zarejestrowani to możesz do bazy danych wrzucać czas ostatniego wysłania formularza przez danego użytkownika.
Ten post edytował krzychu0808 22.06.2013, 12:45:34 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Istnieje kilka rozwiązań:
- zapisanie IP użytkownika w bazie wraz z czasem wysłania wiadomości + sprawdzanie przy wysyłaniu - jeśli użytkownik musi być zalogowany / zarejestrowany w systemie, to analogicznie, tyle że na podstawie danych konta (ID). - ciasteczka (o określonej żywotności) - rozwiązanie kolegi powyżej Znalazłoby się jeszcze parę sposobów, mniej lub bardziej wydajnych. -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Jeśli na sesjach wybierzesz sobie sposób, to tak.
Coś w ten deseń musisz kombinować. Oczywiście pod warunkiem, że decydujesz się, aby to działało na sesjach, jednakże ktoś może wyłączyć i włączyć przeglądarkę i wyśle e-maila, lub skasować historia (w tym sesje). Cookies byłoby bardziej efektywne, gdyż już wyłączenie przeglądarki nie wpłynie na to, ale również można skasować dane przeglądarki. Ewentualnie możesz jeszcze zapisywać do bazy lub pliku adres IP użytkownika i sprawdzać przed każdą wysyłką adres IP użytkownika czy istnieje w bazie, jak tak to sprawdzać jego czas ostatniej wysyłki. Wszystko na podobnej zasadzie działa, jakieś zadeklarowanie gdzieś zmiennej i sprawdzenie później czegoś instrukcją warunkową. Ten post edytował in5ane 22.06.2013, 13:22:20 -------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) ![]() ![]() |
Napisałem ci na szybko rozwiązanie na sesji tylko musisz sobie to zaimplementować w twoim kodzie.
Jeśli na sesjach wybierzesz sobie sposób, to tak. Coś w ten deseń musisz kombinować. Oczywiście pod warunkiem, że decydujesz się, aby to działało na sesjach, jednakże ktoś może wyłączyć i włączyć przeglądarkę i wyśle e-maila, lub skasować historia (w tym sesje). Cookies byłoby bardziej efektywne, gdyż już wyłączenie przeglądarki nie wpłynie na to, ale również można skasować dane przeglądarki. Ewentualnie możesz jeszcze zapisywać do bazy lub pliku adres IP użytkownika i sprawdzać przed każdą wysyłką adres IP użytkownika czy istnieje w bazie, jak tak to sprawdzać jego czas ostatniej wysyłki. Wszystko na podobnej zasadzie działa, jakieś zadeklarowanie gdzieś zmiennej i sprawdzenie później czegoś instrukcją warunkową. O ile się nie mylę to w tym kodzie jeżeli użytkownik pierwszy raz będzie wysyłał formularz to dostanie informacje że musi poczekać. Bo skrypt wykryje że nie ma takiej zmiennej w sesji i wyświetli zawartość else. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 00:06 |