Post-Vars in Klasse sichtbar?
Michael Bieri
- php
Hi zusammen
Ich habe folgendes PHP Skript (zumindest in etwa ;-) )
irgendwas.php
<?
class Klasse{
...
function echoPost(){
=====================> echo "$bname"; <=======
}
...
}
<form name = "blabla" action = "irgendwas.php">
<input type = "text name="bname">
</form>
?>
Ist nun die POST-Variable "$bname" in der mit => markierten Zeile sichtbar? Die Variable wird ja vom Formular "blabla" übergeben.
Also nach meiner gerade gemachten Erfahrung ist die Variable NICHT sichtbar, aber es könnte auch an einem Fehler im Skript (nicht genau dem wie hier gezeigt) sein.
Gruss & Herzlichen Dank
Michael
Hallo Michael,
Ist nun die POST-Variable "$bname" in der mit => markierten Zeile sichtbar?
Nein. Globale Variablen - dazu zählen auch Variablen, die durch POST-Paramter bei register_globals = on erzeugt werden, sind _ausschließlich_ im globalen »Scope« verfügbar, in lokalen »Scopes« von Funktionen sind diese nicht sichtbar (und wenn Variablen mit gleichem Namen verwendet werden, dann haben sie nichts mit den globalen Variablen zu tun) - es sei denn, Du »importierst« diese aus dem globalen »Scope«.
Siehe auch: http://de3.php.net/manual/de/language.variables.scope.php
Ach ja, http://de3.php.net/manual/de/security.registerglobals.php ist vielleicht noch ganz interessant...
Christian