Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> FORM tablicowy, zmiana "name" ze string na array
bulimaxiu
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


Witam.

Mam w FORMie układ tablicowy:
  1. <input name="data[1]" type="text" />
  2. <input name="data[15]" type="text" />
  3. ...

W PHPie wiadomo, odczytam poprzez
  1. $firstname = $_POST['data'][15];
  2. ...
, lub jakoś podobnie, to nie problem.

FORM jest generowany przez PHP, gdzie name jest podawany jako string ("data[15]"); parametr dodatkowy "15" jest zmienny. Potrzebuję jednak w PHP przekazać name ("data[15]") jako string do funkcji PHP i tu rozłożyć to na array, czyli np. $_POST['data'][15]. Wiadomo, gdy zastosuję $_POST[$name], wyjdzie $_POST[data[15]],a potrzeba $_POST['data'][15]. Czy można to rozwiązać jakoś funkcją? Bo nie chcę robić funkcji na analizę znaków w stringu i krok po kroku robić array; chyba że nie da rady inaczej.

Ten post edytował bulimaxiu 3.06.2011, 13:38:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


W ogóle nie rozumiem pytania, ale chyba i Ty źle coś rozumiesz. Przetestuj poniższy kod:
  1. <?php
  2. if(isset($_POST['action']) && $_POST['action'] == 'check') {
  3. echo '<pre>';
  4. print_r($_POST);
  5. echo '</pre>';
  6. } else {
  7. echo '<form action="" method="post">';
  8. for ($i = 1; $i <= 5; $i++) {
  9. $name = 'data['.$i.']';
  10. echo '<input type="text" name="'.$name.'" value="'.$i.'" /><br />';
  11. }
  12. echo '<input type="hidden" name="action" value="check" /><br />';
  13. echo '<input type="submit" name="submit" value="Check" />';
  14. echo '</form>';
  15. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 00:45