Mailinglisten-Archive |
Hallo.
On Sunday 27 January 2002 17:13, you (Roland Spielhofer) wrote:
> Hallo!
> Erst mal danke für die vorangegange Hilfe, aber wo die einen Probleme
> verschwinden, tauchen neue auf :-(
>
> Ich öffne mit einer Funktion aus dem Hauptfenster heraus ein neues
> Fenster, in dem u.a. eine Combo-Box enthalten ist:
>
> function new_recipient() {
> neues fenster...
> neue combobox...
> neue items...
> neue textfelder
> neuer button "Speichern"
> }
> Dieser Button ruft beim Klick die Funktion
>
> function save_recipient(){
> global $combo_vorwahl, $nummer, $name;
> $auswahl=$combo_vorwahl->entry;
> $netz=$auswahl->get_text();
> [...]
> }
> auf.
> $combo_auswahl ist die combo, die in der oberen Funktion definiert
> wurden, $name und $nummer sind Textfelder.
> Sobald ich also auf Speichern klicke, gibt´s einen Fatal error in
> line [...], also der Zeile mit $auswahl=.....
> "Call to a member function on a non-object".
> Wie greife ich nun auf die ComboBox bzw auf die Textfelder zu (Inhalt
> soll in ein Array geschrieben werden, und das dann abgespeichert).
>
> Wie krieg ich die $combo_auswahl dazu, daß sie in der Funktion
> bekannt ist, oder woran liegt es, daß sie nicht greifbar ist?
>
> Ich durchschaue irgendwie die Struktur dahinter nicht....
Folgendes müsste äquivalent zu deinem code sein:
<?php
function foo(){
global $a;
print $a;
}
function bar(){
$a = "yeha";
foo();
}
bar();
?>
Hierbei wird $a nicht ausgegeben.
So geht's:
<?php
$a = "";
function foo(){
global $a;
print $a;
}
function bar(){
global $a;
$a = "yeha";
foo();
}
bar();
?>
Oder so:
<?php
class test {
var $a;
function foo(){
print $this->a;
}
function bar(){
$this->a = "yeha";
$this->foo();
}
}
$t = new test;
$t->bar();
?>
Grüsse,
Frank
php::bar PHP Wiki - Listenarchive