![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Jestem początkującym użytkownikiem, więc za wszelkie niedociągnięcia z góry przepraszam. Chciałbym zrobić dość dynamiczną obsługę wielu formularzy (mam kilkanaście, które z grubsza robią podobne rzeczy: zapis/odczyt do/z MySQL). Wymyśliłem sobie taką konstrukcję: -tablica z nazwami pól formularza -zmienna zmiennej zwracająca pożądaną zmienną $_POST[] Poniżej przedstawiam listing kodu i to co wyświetliło. Jeśli jest jakieś wytłumaczenie dlaczego to mi nie działa to prosiłbym o komentarz. Poszukałem na forum informacji i znalazłem to: http://forum.php.pl/index.php?showtopic=88094 Jednak nazwy pól formularza są używane też w innych miejscach skryptu, dlatego zależy mi na tablicy nazw pól. LISTING:
Wydruk: Cytat pns1 -good pnp1 -good aaa3 -good zmienna: a 0 | $hgw: _POST['pns1'] | $$hgw: |-end zmienna: a 1 | $hgw: _POST['pnp1'] | $$hgw: |-end zmienna: a 2 | $hgw: _POST['aaa3'] | $$hgw: |-end wprowadzono dane do formularza pns1: 1500312-1206 wprowadzono dane do formularza pnp1: 1500312-1106 Pozdrawiam Ten post edytował maclast 16.08.2010, 12:20:47 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Kod foreach($_POST as $zmienna) { $tablica_zmiennych[] = $zmienna; } Coś takiego? -------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli dobrze zrozumiałem to ten kod przypisze mi do $tablica_zmiennych tylko te zmienne $_POST które mają wartość taką jak $zmienna.
Raczej nie o to mi chodzi. Po kolei: mam tablicę nazw pól, które są w formularzu: skrypt generuje mi formularz. np taki: i dalej chciałbym, żeby skrypt automatycznie mi wczytał z POST wszystkie dane (dla każdego pola) tyle, że w jakiejś pętli coby przy dużej ilości pól się nie męczyć (no i przy dużej ilości różnych formularzy). wykombinowałem sobie żeby to zrobić zmienną zmiennych. czyli tak jak napisałem w pierwszym poście.... tyle że nie działa. i nie wiem czy to ja popełniam jakiś błąd.. czy akurat do tego typu zmiennych nie da się w ten sposób odwołać ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 77 Dołączył: 5.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ale co nie działa konkretnie ?
pozatym czy ja mam wrażenie, że chcesz tablice $_POST przepisać do innej tablicy ? Pozdr. -------------------- awake
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
To co robisz jest moim zdaniem bez sensu - ale jeśli chcesz mieć wyeksportować dane z tablicy bezpośrednio do zmiennych to extract().
Jeśli robisz to na tabeli POST bez filtrowania, to jest to niemal tak samo niebezpieczne jak włączone REGISTER_GLOBALS. Wybór należy do ciebie. -------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
@_olo: nie działa konkretnie wyświetlenie zmiennej z POST;
czyli jak mam w tablicy jedną z wartości 'pns1', która to jest nazwą dla pola formularza... to jak wyciągam zawartość z POST nic mi nie zwraca. dla uściślenia jeszcze raz uproszczony listing:
$$nazwa_pola_formularza - czyli zmienna ze zmiennej o zawartości "_POST['".$nazwa_pola_formularza."']" nie wyświetla mi nic. za to wyświetlenie $nazwa_zmiennej_post jest ok, czyli: _POST['pns1'] EDIT: masz trochę racji co do moich zamiarów... chcę zrobić tablicę podobną do POST, tyle że z automatu każda zmienna będzie już sprawdzona. a że mam kilka formularzy to nie chce mi się w każdym wpisywać takich samych linijek kodu. wolę zrobić tablicę nazw zmiennych... potem wyciągnąć z posta interesujące mnie dane (czyli konkretne post['nazwa zmiennej']) sprawdzić je... i zapisać do tablicy która będzie używana w obróbce danych. taka tablica nazw pól formularza by mi wiele kodowania zaoszczędziła... @everth: jak już zaznaczyłem.. jestem początkującym, więc wiele rzeczy na początku będę robił bez sensu. sens tego (w moim chorym umyśle) jest mniej więcej taki: - mam tablicę nazw pól formularza - dzięki temu mogę automatycznie zrobić formularz - potem mając dalej tą tablicę i tabele SQL o podobnych nazwach kolumn mogę łatwo dodawać nowe rekordy/wyświetlać wszystko. chciałem zrobić w "pewnym sensie" automat do robienia formularzy i ich obsługi... gdzie w kolejnych skryptach (czyli kolejnych formularzach) bym musiał zmienić tylko tablicę zawierającą nazwy pól. ot takie dziwne myśli mam. PS. oczywiście przeczytałem wątek o zabezpieczaniu skryptów (isset, real_escape_string, itp/itd) nie jest to zatem tu poruszane. EDIT: OK... jestem idiotą...
Cytat pns1 -good pnp1 -good aaa3 -good zmienna: a 0 | $hgw: 1500131-0006 |-end zmienna: a 1 | $hgw: 1500312-1808 |-end zmienna: a 2 | $hgw: |-end czyli zmiana linijki na: $hgw=$_POST[$t_nazw[$a]]; przyniosła zamierzony cel. dziękuję za zainteresowanie ![]() mimo wszystko zmienna zmiennej dla "_POST['costam']" nie działa.... bo pewnie nie musi Ten post edytował maclast 16.08.2010, 13:39:02 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 77 Dołączył: 5.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
przecież napisałem wcześniej -------------------- awake
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ twoje podejście jest dla mnie obce (albo jestem za mało rozgarnięty by je zrozumieć
![]() PHP automatycznie przekształci ci to na tablicę. Co do walidacji formularzy to w PHP masz o tym cały dział. Polecam funkcję filter_var_array(). -------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 11:29 |