![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 3.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam skrypt php pracujący na bazie mysql . Odświeżenie ekranu( przeładowanie strony) powoduje zduplikowanie rekordu. Jak temu zapobiec ?
Ten post edytował butek 2.07.2008, 18:58:37 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
W formularzu, który przesyła powinna być zmienna o wartości unikalnej wygenerowanej funkcją uniqid(''). Podczas przetwarzania formularza wrzucasz ą wartość do sesji a następnie dajesz warunek, że formularz może być przetworzony jedynie kiedy jego ID jest inne niż to w sesji. Wtedy masz pewność, że nie przetworzysz tego dwukrotnie przy odświeżaniu.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Skrypt, który obiera dane, powinien je przetworzyć i zapisać do bazy/pliku/wysłać mailem/itd, a następnie wywołać funkcję header, do przekierowania na podziękowania/tej samej strony/itd. Dzięki temu nie będzie efektu ponownego dodania do bazy.
P.S. Nie mogę teraz znaleźć, ale ten temat poruszany był na forum wiele razy. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 3.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
A jak wrzucić wartość wygenerowaną przez uniqid do sesji ?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 2 Dołączył: 2.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
$_SESSION['unikalne_id']=uniqid()
-------------------- no body's perfect http://badzkasia.pl
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Na samym początku skryptu
W formularzu: W miejscu gdzie przetwarzasz formularz:
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Odnośnie linku wspomnianego przez batmana - proszę bardzo
Ten post edytował Shili 2.07.2008, 19:38:42 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
@Shili
O właśnie. To jest jeden z tematów (szkoda, że nie znalazłaś takiego, w którym się udzieliłem ![]() edit W zasadzie, skoro temat był już poruszany, to ten można zamknąć. Zamykam. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 19:50 |