Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP Version 5.2.8 błędy
Forum PHP.pl > Forum > PHP
kilofmar
Poprzednio miałem PHP Version 5.2.6 i wszystko było ok, teraz zainstalowałem sobie PHP Version 5.2.8 a dokładnie to program WampServer Version 2.0 z Apache 2.2.11.
I wywala mi takie błędy.
  1. <?php
  2. //zapisywanie ocen
  3.    function ZapiszOceny($Semestr, $PrzedmiotID) {
  4.        global $SQL, $Uczen;
  5.        
  6.        // Zabezpieczenie, zeby nikt nie podal niewlasciwego semestru
  7.        if ($Semestr != 1 && $Semestr != 2)
  8.            $Semestr = 1;
  9.        $NazwaKolumny = 'oceny_czast';
  10.        $NazwaKolumny .= $Semestr;
  11.        
  12.        $AktualneOceny = $this->PobierzOcenyKlasy($Semestr);
  13.        
  14.        $NoweOceny = $_POST['oceny'];
  15.        
  16.                
  17.        foreach ($NoweOceny as $IDUcznia => $CiagOcen) {
  18.            if (array_key_exists('', $AktualneOceny[$IDUcznia]))
  19.                $AktualneOceny[$IDUcznia] = Array( $PrzedmiotID => $CiagOcen );
  20.            else
  21.                $AktualneOceny[$IDUcznia][$PrzedmiotID] = $CiagOcen;
  22.        }
  23.        
  24.        unset($NoweOceny);
  25.        
  26.        foreach($AktualneOceny as $IDUcznia => $Oceny) {
  27.            if (!array_key_exists('', $Oceny)) {
  28.                foreach($Oceny as $Przedmiot => $OcenyPrzedmiotu) {
  29.                    if($OcenyPrzedmiotu != '')
  30.                        $NoweOceny[] = $Przedmiot . '|'. $OcenyPrzedmiotu;
  31.                }
  32.                if(isset($NoweOceny)) {
  33.                    $OcenyKoncowe[$IDUcznia] = join('#', $NoweOceny);
  34.                    unset($NoweOceny);
  35.                } else
  36.                    $OcenyKoncowe[$IDUcznia] = '';
  37.            } else
  38.                $OcenyKoncowe[$IDUcznia] = '';
  39.        }
  40.        
  41.        foreach ($OcenyKoncowe as $IDUcznia => $OcenyUcznia) {
  42.            $query = sprintf("UPDATE `uczniowie`
  43.                              SET `%s` = '%s'
  44.                              WHERE `id` = %d
  45.                              LIMIT 1",
  46.                             $NazwaKolumny, $OcenyUcznia, $IDUcznia);
  47.            
  48.            $SQL->Query($query);
  49.        }
  50.    }
  51. ?>



Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in C:\wamp\www\nowy\includes\class_nauczyciel.php on line 19

i jeszcze w niektórych FOREACH też mam błąd oto przykład
  1. <?php
  2. function ciecieocen($ciagznakow,$PrzedmiotId){
  3.        $oceny = explode('#', $ciagznakow);
  4.        
  5.        foreach ($oceny as $ocenas) {
  6.            $dane = explode('|', $ocenas);
  7.            //$oceny2[$dane[0]] = $dane[1];
  8.             if($dane[0]==$PrzedmiotId) $ocena=$dane[1];
  9.            }
  10.        return $ocena;
  11.    }
  12. ?>

Notice: Undefined offset: 1 in C:\wamp\www\nowy\includes\class_uczen.php on line 9

Te funkcje są w klasach.

Może nie włączyłem jakiejś biblioteki już sam nie wiem czemu.
phpion
To raczej nie wina PHP tylko Twojego niechlujstwa. Odnośnie pierwszego błędu to nie chce mi się analizować kodu, ale drugi wyraźnie wskazuje na odwołanie do nieistniejącego indeksu w tablicy (dane[1]). Pewnie wcześniej miałeś wyłączone zgłaszanie błędów (error_reporting + display_errors) i ich nie widziałeś.
Rafal Filipek
co do 1 błędu to zobacz co ci zwraca
Kod
$this->PobierzOcenyKlasy($Semestr);
powinna byc to tablica - zakład że nie jest.
kilofmar
Zwraca tablice tylko czasem sa elementy puste oto przykład.
  1. <?php
  2. (
  3.    [107] =>
  4.    [108] => Array
  5.        (
  6.            [16] => 3+,4,c4,z3-
  7.        )
  8.  
  9.    [109] =>
  10.    [110] => Array
  11.        (
  12.            [16] => 4,2,2+,nb,3-
  13.            [17] => 1+,4,c4,z3+
  14.            [14] => 5,z3-,z2+,3
  15.        )
  16.  
  17.    [111] =>
  18.    [161] => Array
  19.        (
  20.            [14] => 5,z3-,z2+,3
  21.        )
  22.  
  23.    [163] =>
  24.    [164] => Array
  25.        (
  26.            [14] => 5,z3-,z2+,3
  27.        )
  28.  
  29.    [165] =>
  30.    [166] => Array
  31.        (
  32.            [14] => 5,z3-,z2+,3
  33.        )
  34.  
  35.    [167] => Array
  36.        (
  37.            [14] => 5,z3-,z2+,3
  38.        )
  39.  
  40.    [168] =>
  41.    [170] =>
  42.    [171] =>
  43.    [172] =>
  44. )
  45. ?>
Rafal Filipek
nie ma sie co dziwic ... jak robisz array_key_exists to musi sie wywalic. słyszałeś kiedyś o rzutowaniu typów
  1. <?php
  2. var_dump((array)null);
  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.