![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Czasami widze na swojej lub inntch stronach ze posty dodaja sie dwa razy takie same podrzad, wiem czym to jest spowodowane ale jak temu zaradzc?
Pola UNIQUE w MySQL'u nie moge wprowadzic - upszedzam! -------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
do każdego formularza dodajesz unikalny numer.
Następnie, po wysłaniu tegoż formularza zapisujesz ten numer w sesji, wcześniej sprawdzając, czy czasem już takiego nie ma w Twojej sesyjnej tablicy. Jeśli nie ma - to ok, i wykonujesz odpowiedni kod obsługujący dany formularz. Jeśli jednak już tam jest, to oznacza, że ktoś 2-krotnie nacisną submit - i wtedy zatrzymujesz skrypt, z odpowienim komunikatem. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 1 Dołączył: -- Skąd: Rogożnik /K-ce/ Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czasami widze na swojej lub inntch stronach ze posty dodaja sie dwa razy takie same podrzad, wiem czym to jest spowodowane ale jak temu zaradzc?
Pola UNIQUE w MySQL'u nie moge wprowadzic - upszedzam! Ja robię to tak, że po wysłaniu forma zapisuje dane w bazie, po czym odświerzam stronę już bez zmiannych z forma - działa bardzo szybko i nie musi nic sprawdzać - dodatkowo do takiego rozwiązania dołączyć można komunikat, np. Dane zostały zapisane. Łatwy sposób i w miarę bezpieczny na odświerzanie - podczas odświerzania wypisuje komunikat a nie zapisuje ponownie. np. wysłanie forma = url: index.php?action=submit po zapisie w bazie = url: index.php?alert=12 - gdzie 12 to id komunikatu To oczywiście bardzo prosty przykład, ale to rozwiązanie działa u mnie bez zarzutu nawet w systemie zaawansowanych statystyk czy systemach zarządzania treścią. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
ja po po wysłaniu posta przekierowuję za pomocą header() prosto do nowej odpowiedzi. W ten sposób nikt nie odświeży strony dodawania, bo nawet jej nie widzi.
-------------------- if(function_exists("zrozum_kobiete")){
echo "Niemożliwe!"; exit;} |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:30 |