![]() |
Dodawanie recordów do MySQL z zabezpieczenie przy odswiezaniu strony. - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych) +--- Wątek: Dodawanie recordów do MySQL z zabezpieczenie przy odswiezaniu strony. (/thread-dodawanie-recordow-do-mysql-z-zabezpieczenie-przy-odswiezaniu-strony) |
Dodawanie recordów do MySQL z zabezpieczenie przy odswiezaniu strony. - toma5z - 02-03-2011 Witajcie, mam pewne pytanko, ćwiczę sobie PHP i natknąłem sie na taki dylemat: Mamy formularz, w którym dodajemy recordy do baz danych: clasa/metoda: Kod PHP: function adduser($login, $rank) index.php: Kod PHP: require_once '../class/class.Company.php'; Jest to bardzo prosty algorytm na dodawanie kolejnych pól do bazy danych. Z tym ze mam problem, gdy odświeżę stronę (F5) dodawane są takie same dane do bazy jak zostały dodane ostatnio. Dopisywany jest kolejny record ten z "pamięci". W jaki sposób to zabezpieczyć ? Aby nie można było poprzez odświeżenie strony dodawac pól do mysql ? RE: Dodawanie recordów do MySQL z zabezpieczenie przy odswiezaniu strony. - R_Rafalsky - 03-03-2011 Musisz zapamiętać w sesji, że już zostało pole dodane. Tutaj masz problem taki, że dodając jedno pole masz możliwość dodania pola kolejnego. Jest to błąd! Lepiej jakbyś podzielił to na dwie podstrony: 1. Formularz dodawania pola. 2. Potwierdzenie dodania pola lub informacja o błędzie. W 1: - $_SESSION[dodano']=0; - wyświetlasz formularz dodawania z akcją na 2 W 2: Sprawdzasz if($_SESSION['dodano']) jeśli nie to: - dodajesz do bazy danych i jak wszystko jest cacy to wyświetlasz potwierdzenie i $_SESSION['dodano']=1; - jeśli coś źle to wyświetlasz komunikat (gość może odświeżyć i spróbować ponownie - tylko jak coś poszło nie tak) jeśli tak to: - wyświetlasz komunikat, że dane już dodano W 2. mamy powrót do 1 np. "Dodaj kolejne pole". Jasne? RE: Dodawanie recordów do MySQL z zabezpieczenie przy odswiezaniu strony. - toma5z - 03-03-2011 (03-03-2011, 07:05)R_Rafalsky napisał(a): Musisz zapamiętać w sesji, że już zostało pole dodane. Tutaj masz problem taki, że dodając jedno pole masz możliwość dodania pola kolejnego. Jest to błąd! Lepiej jakbyś podzielił to na dwie podstrony: Wszystko jak najbardziej jasne ! Tak też kombinowałem z sesją, sądziłem ze jeszcze jest jakaś inna alternatywa. Dzięki ! Masz + |