Poniższy skrypt działa prawidłowo gdy do wyświetlania danych użyję pętli for(). Natomiast gdy użyję foreach to już wszystko się pieprzy..
<?php
include 'funkcje.php';
//Tablica ze spisem uprawnień
$spisUprawnien = array ('Panel' => 'Panel administracyjny:', 'ZmianaHasla' => 'Zmiana hasła:',
'Pasazerski' => 'Dział pasażerski:',
'Rampa' => 'Dział rampy:',
'GrafikPasazerski' => 'Rozpiska stanowisk (pasażerski):');
////////////////////////////////////////////////////////////////
for ($i=0; $i<10; $i++) echo '<br>Prawa: '.$_POST['kto'][$i]; ////////////////////////////////////////////////////////////////
//Połączenie z bazą danych
$conn = m_connect($server, $identyfikator, $haslo)
or
die ('Nie udało się połączyć z bazą danych!'); //Wybór bazy danych
or
die ('Nie udało się wybrać bazy!');
$l = $_GET['l'];
$i = $_GET['i'];
$n = $_GET['n'];
$np = $_GET['np'];
$d = $_GET['d'];
$s = $_GET['s'];
//Dla przypadku wejścia przez opcję 'Szukaj pracownika', ustalamy opcję przez, którą odbyło się szukanie
if ( !empty($l) ) $szukaj = '&l='.$l; else if ( !empty($i) ) $szukaj = '&i='.$i; else if ( !empty($n) ) $szukaj = '&n='.$n; else if ( !empty($np)) $szukaj = '&np='.$np; else if ( !empty($d) ) $szukaj = '&d='.$d; else if ( !empty($s) ) $szukaj = '&s='.$s;
//Pobieramy prawa dostępu dla danego użytkownika
$query = 'SELECT modul, odczyt, zapis FROM uprawnienia WHERE konto_id='.$id;
echo '<div class="uprawnienianaglowek" style="margin-left: 240px !important; margin-left: 120px;">Odczyt</div>'; echo '<div class="uprawnienianaglowek">Zapis</div>';
echo '<form action="'.basename($PHP_SELF).'?'.SID
.'&val=115&id='.$id.$szukaj.'" method="post">';
//Wyświetlamy prawa dostępu
{
echo '<div class="uprawnieniaspis">'.$spisUprawnien[$query_data[0]].'</div>'; echo '<div class="uprawnieniawartosc">'; echo '<select name="kto[]" style="font-size: 11px; width: 100px;">'; if ( $query_data[1] == 1 ) $domyslne = 'selected'; else $domyslne = '';
echo '<option selected>Nie</option>'; echo '<option '.$domyslne.'>Tak</option>'; echo '<div class="uprawnieniawartosc">'; echo '<select name="kto[]" style="font-size: 11px; width: 100px;">'; if ( $query_data[2] == 1 ) $domyslne = 'selected'; else $domyslne = '';
echo '<option selected>Nie</option>'; echo '<option '.$domyslne.'>Tak</option>'; }
echo '<div style="margin-top: 10px; width: 510px; clear: both; float: left;">'; echo '<div style="margin-bottom: 10px; width: 60px; clear: both; float: right;"><input type="image" src="img/zapisz.gif" /></div>'; echo '<div style="width: 44px; clear: both; float: right;"><a href="'.basename($PHP_SELF).'?'.SID
.'&val=13'.$szukaj.'"><img src="img/wroc.gif" width="44px" height="19px" alt="Wróć" border="0" /></a></div>';
?>
Gdy zamiast
<?php
////////////////////////////////////////////////////////////////
for ($i=0; $i<10; $i++) echo '<br>Prawa: '.$_POST['kto'][$i]; ////////////////////////////////////////////////////////////////
?>
użyję
<?php
foreach (array($_POST['kto']) as $key => $kto) echo '<br>Prawa: '.$kto[$key]; ?>
to nie działa. Co robię źle?