Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak sprawdzić, co wysłało informacje z formularza
GraphiCAD
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.08.2008

Ostrzeżenie: (0%)
-----


Witam!

Kombinowałem, kombinowałem i poległem...
Szukałem na forum, ale nie znalazłem. Skrypt ma mieć możliwość dodania pozycji do formularza zamówienia wewnątrz firmy, a dopiero po wypełnieniu (możliwe kilka pozycji) zapisanie o do bazy danych.
Wygenerowałem formularz, którego pola mają nazwy generowane przez skrypt. Ilość takich pól jest zmienna:
Kod
for ($licznik = 1; $licznik <= $ilosc_pol; $licznik++) {
     echo "<input type=\"text\" name=\"pos$licznik\" value=\"\"></input>"; // itd.
}


I wychodzi:

Kod
<form action="dodaj.php" method="POST">
<input type="text" value="" name="pos1"></input><input type="submit" name="del_pos1" name="Usuń"></input>
<input type="text" value="" name="pos2"></input><input type="submit" name="del_pos2" name="Usuń"></input>
<input type="text" value="" name="pos3"></input><input type="submit" name="del_pos3" name="Usuń"></input>
...
<input type="text" value="" name="posX"></input><input type="submit" name="del_posX" name="Usuń"></input><BR><inoput type="submit" name="send" value="Zapisz"></input><BR></form><BR>

Problem polega na tym, że  nie wiem, jak zrobić, żeby automatycznie wydobyć informację o tym, które pole typu "SUBMIT" wysłało dane z formularza.
Potrzebana była by jakaś pętla typu:
Kod
for ($licznik = 1; $licznik <= $ilosc_pol; $licznik++) {
if (isset($_POST['del_pos$licznik'])) { cośtam się dzieje... }
}

Ale to nie działa, a nie wiem dlaczego. Argument podany, jako nazwa elementu w tablicy $_POST jest według mnie ciągiem znaków i powinien podlegać takim manewrom, jak generowanie jego nazwy, a jakoś nie działa. A może to coś innego?

Ten post edytował GraphiCAD 4.08.2008, 10:35:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
GraphiCAD
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.08.2008

Ostrzeżenie: (0%)
-----


Prawie wszystko pięknie, ale:
1. Potrzebuję informacji z pól tekstowych ORAZ informacji, które "submity" wysłały dane, żeby wywalić odpowiednią pozycję z listy.
2. Atrybuty "name" przecież są tutaj elementami sterującymi. Ale nie będę robił żadnego "if... else...", albo "case $zmienna of...", bo do tego trzeba znać liczbę elementów, a ta jest zmienna.
3. Zmienna tablicowa w tym przypadku spowoduje, że wyświetli się takie coś, jak jest napisane, ale czy napiszę "del_pos[1]", czy "del_pos3", to i tak muszę to jakoś potem wydobyć z formularza.
4. Użytkownik jest przyzwyczajony do przycisków "usuń" przy każdej pozycji i tak został zatwierdzony interfejs.
5. JAK sprawdzić, czy którekolwiek z np. 200 pól, których nazwy są generowane, a nie stałe jest zaznaczone? Też przez: isset($_POST['nazwa_pola']), a tutaj się to wywala, bo nie umiem zrobić, żeby skrypt sprawdzał wszystkie pola z tablicy $_POST sam, bez podawania mu ręcznie nazw pól.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 18:14