![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zabieram się za tworzenie nowego interfejsu do zapisu konfiguracji w CMS-ie.
http://phpproblem.gourl.org Niektóre dane wymagają obróbki, więc nie mogę zapisać bezpośrednio danych z $_POST: Kod funkcja_zapisu($_POST) Można rozwiązać problem w ten sposób: Kod $_POST['dane'] = Clean($_POST['dane']); //Clean = funkcja jądra skryptu Myślę, że lepiej zdefiniować, jakie wartości mogą zapisać się (int, tekst, itd.) w poszczególnych opcjach mimo tego, że dostęp do konfiguracji właściciele stron mogą przydzielać tylko wybranym osobom lub grupom. Niestety, będzie znacznie więcej kodu (ponad opcji w "ogólnych"). Co o tym myślicie? Jeżeli definiowałoby się każdą opcję do zapisu, formularz można generować dynamicznie (sposób trochę wolniejszy, ale mniej kodu i może przejrzyściej). Problem w tym, że są różne typy pól: - checkbox - radio (kilka pozycji dla tej samej opcji) - select (opcje <option> często generują inne funkcje, wywalając gotowy kod) - input (szeroki na tekst bądź wąski na liczbę) Jak więc generować taki formularz z opcjami konfiguracyjnymi? Chyba, że lepiej pozostać przy statycznych formularzach, aby nie komplikować sytuacji i nie ograniczać możliwości wstawiania kodu. PS. Dane zapisywane są do plików .php. -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
w tej funkcji Funkcja_zapisu, możesz dać pętlę która będzie się wykonywała count($argument) razy i będzie Clean()'owała $argument[$i]. Jednak to bez sensu, bo niektóre dane mogą być innego typu niż tylko string, a bez sensu dawać w drugim argumencie array'a z typami pokolei... Myślę że warto dać możliwość dodawania pól. Trochę w tym roboty, ale możesz dać, jeśli to jest w mysql, w drugiej kolumnie typ. itd. Statyczne formularze to trochę przeszłość - mała elastyczność.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
W statycznych formularzach nie ograniczasz możliwości jak w dynamicznych. Jak stworzyłbyś kod zarówno generujący formularz z opcjami jak i zapisujący konfigurację (coś w stylu pliku definicji)?
Przykład: Powyższe rozwiązanie jest nieelastyczne choćby z tego względu, że niektóre pola wymagają np. dodania atrybutów (ID, size), zdarzeń... nie mówiąc o "radio" i <select>. Rozwiązaniem jest użycie np. trzeciego argumentu funkcji jako tablicy z właściwościami bądź: Też ogranicza możliwości i jest wolne przy dużej ilości pól. Kwestię formularzy z opcjami pozostawię na później. Na razie chyba pola formularza będą miały nazwy: o[nazwa_opcji]: Kod <input name="o[title]" /> Nie powinno raczej to wpłynąć na wydajność, chyba że się mylę.Jakie są wasze zdania na ten temat? Ten post edytował WebCM 15.09.2007, 22:29:08 -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:31 |