Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Odczytywanie wartości z tablicy
Forum PHP.pl > Forum > Przedszkole
pawel81
Czy można odczytać wartości z tablicy, która znajduje sie w innej tablicy?

  1. <form action="test.php" method="post"> 
  2. <?php
  3.  
  4.  <p><input type="checkbox" name="plany[1]" value="1"> 
  5.  <p><input type="checkbox" name="plany[2]" value="2">  
  6.  <p><input type="checkbox" name="plany[3]" value="3">  
  7.  <p><input type="checkbox" name="plany[4]" value="4"> 
  8.  <p><input type="checkbox" name="plany[5]" value="5"> 
  9.  
  10.  <p><input type="submit" name="Rejestruj" value="Rejestruj"></p>";
  11.  
  12.  
  13. #Ta część działa
  14. If(isset($_POST['plany'])) {
  15.  
  16. $plany = $_POST['plany'];
  17.  
  18. if(!empty($plany[1])) echo ' checked1';
  19. if(!empty($plany[2])) echo ' checked2';
  20. if(!empty($plany[3])) echo ' checked3';
  21. if(!empty($plany[4])) echo ' checked4';
  22. if(!empty($plany[5])) echo ' checked5';
  23. }
  24.  
  25. echo '<br>Przykład 2';
  26.  
  27. #Ta nie
  28. If(isset($_POST['plany'])) {
  29.  
  30. if(!empty($_POST['plany[1]'])) echo ' checked1';
  31. if(!empty($_POST['plany[2]'])) echo ' checked2';
  32. if(!empty($_POST['plany[3]'])) echo ' checked3';
  33. if(!empty($_POST['plany[4]'])) echo ' checked4';
  34. if(!empty($_POST['plany[5]'])) echo ' checked5';
  35. }
  36. ?>
  37. </form>
koodlaty
Atrybuty "name" pól formularza HTML nie powinny mieć wartości określających pola tablic PHP. Jeśli nawet w ich nazwie może znaleźć się nawias kwadratowy, to po odebraniu przez POST/GET traktowane będą przez parser jak stringi - nie jak pola tablicy PHP.
Kicok
Stworzyłeś tablicę dwuwymiarową, do której odwołujesz się w ten sposób:
  1. <?php
  2. echo($_POST['plany'][1]);
  3. ?>

a nie:
  1. <?php
  2. echo($_POST['plany[1]']);
  3. ?>



Cytat
Jeśli nawet w ich nazwie może znaleźć się nawias kwadratowy, to po odebraniu przez POST/GET traktowane będą przez parser jak stringi - nie jak pola tablicy PHP.

Jeśli byłyby traktowane jako stringi, to działałby mu drugi przykład, a nie pierwszy.
pawel81
Wielkie dzięki biggrin.gif
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.