Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]odbior tablicy dwuwymiarowej
Forum PHP.pl > Forum > Przedszkole
v1t4n
Witam!

Podczas odbierania z formularza z pól input o nazwach tablicy dwuwymiarowej (wczesniej wystepuje jeszcze jedna petla do $n)
  1. <?php
  2. for ($i=1;$i<=8;$i++)
  3. {
  4. print '<input type="text" name="ocena['.$n.']['.$i.']" size="1" maxlength="1" class="tresc" value="'. ocena($id_uczen, $n, $i) .'"/>';
  5. }
  6. ?>

wystepuje blad o tresci:
Kod
Notice: Undefined index: ocena[1][1] in...
Notice: Undefined index: ocena[1][2] in...
(...)
Notice: Undefined index: ocena[3][8] in...
itd do konca rozmiarow tablicy.


Skrypt do odbierania tej zmiennej tablicowej w pliku php (ktory zostal zadeklarowany w formie jako akcja):
  1. <?php
  2. for ($j=1;$j<=12;$j++)
  3. {
  4. for ($k=1;$k<=8;$k++)
  5. {
  6. $ocena[$j][$k]=$_POST['ocena['.$j.']['.$k.']']; //linia w ktorej wysypuje blad
  7. }
  8. }
  9. ?>


Przeszperalem wczesniejszy plik z formularzem i nie znalazlem bledow. Petle (od rozmiarow tablic) sa dobre. Wiem ze wczesniej w podobny sposob przesylalem tablice jednowymiarowa i wszystko dzialalo. Sprawdzalem w zrodle wygenerowanej strony i wyglada to tak:
  1. <input type="text" name="ocena[1][1]" size="1" maxlength="1" class="tresc" value=""/>
itd do konca rozmiarow tablicy


Prosze o pomoc bo mi sie juz chyba mieni w oczach i nie widze bledu.
pyro
właśnie takie upierdliwe są błędy notice, jednak nie szkodzi to na działanie skryptu, użyj error_reporting(E_ERROR); na poczatku skryptu
v1t4n
Przepraszam ze nie powiedzialem wczesniej: uzylem error_reporting(E_ALL) zeby zobaczyc jaki jest blad ze nie zwraca wartosci z podanej tablicy.
Kicok
Cytat
  1. <?php
  2.  
  3. $_POST['ocena['.$j.']['.$k.']'];
  4. ?>


Oj na pewno nie tak ;]


  1. <?php
  2.  
  3. print_r( $_POST['ocena'] );
  4.  
  5. ?>



PS. Kolega powyżej ma rację. Błędy E_NOTICE nie wpływają na działanie skryptu, a szukanie literówki "na ślepo" sprawia niesamowitą radochę.
v1t4n
godzine sie meczylem zanim wyslalem to tutaj... pozniej dalej sie meczylem
efekt?
10 spalonych papierosow, okolo 100 wydartych wlosow...

  1. <?php
  2. $ocena=$_POST['ocena'];
  3. ?>

Kicok na prezydenta!

prosze zamknac smile.gif
JoShiMa
Jak chcesz się dobrać do pojedyńczego elementu bez kiopiowania do tablicy $ocena to nie tak:

  1. <?php
  2. $ocena[$j][$k]=$_POST['ocena['.$j.']['.$k.']'];
  3. ?>


Tylko tak:

  1. <?php
  2. $ocena[$j][$k]=$_POST['ocena'][$j][$k];
  3. ?>
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.