Det er fordi at det du laver ikke er pæn praksisk, men PHP tilgiver let - de nye settings gør bare at du får besked om at det ikke er godt. Du kan løse det ved at skifte linie 33 og 34 ud med:
snestrup2000, du naevner en fejlmelding om undefined index, ikke undefined variable. Paa one.com, som jeg forstaar har opgraded php, virker din kode paa denne hjemmeside http://christianjorgensen.be/snestrup.php naar jeg fylder pg og subpg ud i en html form. Hvordan indsaetter du vaerdierne i pg og subpg?
-> #6 - problemet er jo når variablerne ikke er sat og de derfor ikke eksisterer, så kan den ikke finde dem og kommer med en fejl.
derfor er repox' løsning også den mest korrekte, vil jeg mene
sidder selv med et halvstort site som jeg har lavet (ligger hos one) og retter en hel masse, fordi da jeg lavede sitet ikke var klar over forskellen på $array['index'] og $array[index] :(
splazz, i den kode jeg har koerende paa http://christianjorgensen.be/snestrup.php har jeg ikke variablerne definerede og den finder dem udemaerket. I php plejer jeg at komme godt afsted med ikke at definere variabler. Derfor foreslaar jeg at soege efter problemet i dette tilfaelde et andet sted end i manglende deklarationer af variablerne.
-> #9 - ja det kan slås fra derinde og det viste jeg egentlig godt, men på den anden side, så bliver koden mere korrekt, når det bliver rettet til, så det virker uden at slå error_reporting fra :)
#10 I et live miljø vil jeg mene at der er fordele i at slå error_reporting fra helt overordnet. Eventuelt at logge fejlene istedet så man har mulighed for at gå dem igennem i tilfælde af de skulle opstå.
Min holdning er at man skal reagere på fejl, men skjule dem for brugerne. Det kan være meget uhensigtsmæssigt at vise fejl i sin applikation overfor brugerne - det skaber potentielle sikkerhedsrisici.
Derudover er det en go' ide at bruge forskellige navne på sine vars. Hvis man får sin kode ud at ligge på en server med register_globals sat til on, ( skodserver! ), risikerer man at få problemer.
Hvis $_REQUEST["pg"] er sat, er $pg defineret hvis register_globals sat til on.
Bruger man så længere nede i scriptet $pg = "noget helt andet";
ændrer $pg jo værdi.
Eks. vil $_SESSION["pg"] sikkert blive noget uventet.
2: Jeg så den kode i sin tid på PHP.net og da det er "bibelen" for PHP tog jeg koden derfra.
3.. -> Jo, det er rigtigt, at de 2 variable(r) ikke er defineret ved start, det var det empty(var) skulle gøre.
$pg er en "sidetæller" (index) (og $subpg er en "undersidetæller (subindex)") og kan derfor ikke initialiseres med fast værdi men må tilpasses efter hvad side brugerne ønsker at komme ind på.
Efter at have "bøvlet" noget med det fandt jeg selv en løsning, som tilsyneladendeløste problemet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.