Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tablice asocjacyjne i nazwy pól
Forum PHP.pl > Forum > PHP
sintom
Czy ktos wie jak sie dobrać do nazw pól tablicy asocjacyjnej?

Otóz, chciałbym napisac skrypt, który zapisuje wszystkie informacje otrzymane z formulara do np. pliku textowego (oczywiście nie znając nazw pól tego formularza).

Z tego co wiem tablica HTTP_POST_VARS jest tablicą asocjacyjną zawierającą dane formularza (dla metody post oczywiście)
Wiem, że mogę użyć funkcji FOREACH ale okazało się, że nawet zawartść
przycisków pojawiła się w pliku tekstowym (co w ogóle mi nie potrzebne)

Po prostu chaciałbym zrobić ten skrypt jak najbardziej uniwersalnym.
dragossani
Cytat
Czy ktos wie jak sie doprac do nazw pól tablicy asocjacyjnej?

To chyba nie problem. Manual stwierdza jasno:
Kod
foreach($_POST $key => $value) print("<BR>klucz: $key, wartość: $value");

Cytat
Wiem, że mogę użyć funkcji FOREACH ale okazało się, że nawet zawartść przycisków pojawiła się w pliku tekstowym (co w ogóle mi nie potrzebne)

No tak akurat się składa, że formularz wysyła komplet danych, łącznie z wartościami przycisków np. submit-a. Zawsze można jednak przyciąć tablice o niepotrzebne wartości:
Kod
unset($_POST['nazwa_niepotrzebnego_pola']);

Nic nie wiem o tym, żeby przyciski w formularzu były jakoś szczególnie oznaczone. Nie da się ich chyba odróżnić od innych pól. Jeśli masz wpływ na sam formularz to można po prostu ponazywać wszystkie przyciski tak, by stworzyły tablicę i wyciąć ją całą. Czyli:
Kod
W formularzu:

<INPUT TYPE="BUTTON" NAME="button[btn1]" VALUE="Cośtam">

<INPUT TYPE="SUBMIT" NAME="button[submit]" VALUE="Wyślij">

<INPUT TYPE="RESET" NAME="button[reset]" VALUE="Wyczyść">



A w skrypcie:

unset($_POST['button']);

Nie testowałem ale powinno zadziałać.
Przyciski możnaby też ponazywać wszystkie po prostu: "button[]", czyli poindeksować automatycznie, ale sądzę, że ewentualny javascript miałby wtedy z nimi problem (tablica elements[] formularza byłaby zdegenerowana).
sintom
czyli widze, ze nie ma jakiegos prostego sposobu na dobranie do sie
nazw pol....
Chyba czas na nowa wersje php
dragossani
Cytat
czyli widze, ze nie ma jakiegos prostego sposobu na dobranie do sie nazw pol...

Myślę, że aktualny sposób nie należy do szczególnie trudnych. smile.gif

Cytat
Chyba czas na nowa wersje php

Nie jestem przekonany, że fakt iż przychodzące POST-em zmienne mają przemieszane pola i przyciski jest zasługą php. Sądzę, że to przeglądarka bądź apache podają takie zmienne.
FiDO
Cytat
Nie jestem przekonany, że fakt iż przychodzące POST-em zmienne mają przemieszane pola i przyciski jest zasługą php. Sądzę, że to przeglądarka bądź apache podają takie zmienne.
Tez nie sadze aby to php bylo tu winowajca, pozatym wysylane sa tylko te elementy formularza, ktore maja ustawiony atrybut "name" w przyciskach tego nie uzywam (choc przydaje sie czasem do JS), wiec i nie mam ich w _POST
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.