Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wy sobie z tym radzicie?
kicaj
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
DeyV
post
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..."
Go to the top of the page
+Quote Post
id4
post
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ą.
Go to the top of the page
+Quote Post
jono
post
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;}
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 Aktualny czas: 21.08.2025 - 06:30