Hallo,
ähm das versteh ich nicht, also ich habs jetz so gemacht und es scheint zu funktionieren, aber wieso sind, nur weil ich die vorher in der funktion nicht extra mit var deklariere, diese dann sozusagen global und nicht lokal, wie sie es eigentlich sein sollten??
Wie mit der Gültigkeit von nicht deklarierten variablen umgegangen wird, hängt von der verwendeten Programmiersprache ab:
PERL und JavaScript wandern, wenn sie eine Variable finden, die nicht deklariert ist, immer weiter nach oben im Gültigkeitsbereich - wenn sie ganz oben (im "Globalen") angekommen sind, und immer noch keine Variable finden, die so heisst, nehmen sie an, die gefundene Variable habe globale Gültigkeit.
Abhilfe kannst Du schaffen, in dem du irgendwo die Variable definierst (in JavaScript mit "var", in Perl z.b. mit "my")
PHP hingegen machts z.b. umgekehrt,
da ist erstmal alles lokal, wenn man die globale Variablen nicht mit "global" o.ä. in eine Funktion importiert.
Am besten, man deklariert jede Variable, die man benutzt. In klassischen Programmiersprachen (C, Java, Pascal usw.) muss man das ja ohnehin, und in Skriptsprachen wie Perl, javaScript und PHP hilft es, missverständnisse zwischen Programmierer und Skript-Interpreter
zu vermeiden.
Viele Grüße,
Jörg