Beitrag von Ruben (403 Beiträge) am Dienstag, 20.März.2001, 18:18.
Perl-Frage Variablen mit Wert aus Sub an Hauptprogramm zurück - wie?
Hab die Dokus, die so verfügbar sind, soweit "berfragt", und nichts so richtig gefunden.
Hintergrund:
In meiner Nutzerverwaltung kann man innerhalb einer Sub seine Nutzerdaten ändern. Nun ist ja dann ggf. das Paßwort und/oder der Nutzername neu und somit besteht keine Berechtigung mehr - es muß eine Neuanmeldung mit den geänderten Nutzerdaten erfolgen. Geht wunderbar, aber ich möchte gern, daß nun als Meldung nicht die Standardausschrift "paßwort oder nutzername falsch...blabla" kommt, sondern der Hinweis, daß die Nutezrdaten geändert wurden.
Wenn ich in der Sub, die ein Ändern zuläßt, einfach ne Variable mit $nutzaend=ja setze, wird die beim Neuaufruf des Templates nirgendwo übergeben. (hab den Var-Namen ans do_all mit angehängt, an das Anmeldeform als hidden-field usw.)
Den kompletten Code kann ich schlecht ins Forum stellen, sind runde 500 Zeilen, wenn sich das mal jemand von den Profis anschaun will, mail ich ihn mal zu.
Danke für Tip
Ruben
PS - sind die letzen "Späße" für die "einfache" Version der Nutzerverwaltung. Rechte können je nach Eintrag in der Nutzerdatei vergeben werden, Menüstruktur entsprechend Rechten des Nutzers, momentan sind für 5 Datenbanken unterschiedliche Rechtvergaben möglich - geht ganz gut, möchte ich auch gern in die Bib stellen (falls da noch Interesse bestehen sollte wenn das Christoph eh in die neue Version eigebaut hat)
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 20.März.2001, 23:22.
Re: Perl-Frage Variablen mit Wert aus Sub an Hauptprogramm zurück - wie?
Beitrag von Ruben (403 Beiträge) am Mittwoch, 21.März.2001, 00:00.
Re: Perl-Frage Variablen mit Wert aus Sub an Hauptprogramm zurück - wie?
mhm, erst mal danke, habs gelesen und muß es noch richtig verstehen ;-)
Aber ich will es andersherum, und zwar folgendermaßen:
....
....
if $nutzaend eq "ja"
{out "Bla_Bla_Bla"}
if $nutzaend ne "ja"
{out "Blu_Blu_Blu"}
if $use eq "eins"
{&einsadmin()}
if $use eq "zwei"
{&zweiadmin()}
...
...
sub zweiadmin
{do_all "db=db2", "durchzug.Var";}....
und hier liegt jezt der Hase im Pfeffer. Wenn in (und nur in) der sub zweiadmin irgendeine Aktion ausgeführt wird, soll die Variable $nutzaend mit irgendwas abfragbarem gefüllt werden (also halt "ja") und dann mit dem do_all nach Aktion wieder an das sich ja selbst aufrufende Template am "Eingang" übergeben werden.
Und da hab ichs noch nicht kapiert, wie das gehen könnte, vielleicht so wie in deinem Beispiel oben einfach:
sub zweiadmin
{$nutzaend="ja";
do_all "db=db2", "durchzug.Var", "nutzaend=$nutzaend";}
Oder ist es komplizierter - wollte es zwar eigentlich schon gern mit einbauen auch wenn ichs im Moment noch nicht begriffen habe.
Thanks
Ruben
Beitrag von Ruben (403 Beiträge) am Mittwoch, 21.März.2001, 11:23.
War selber der Dussel, hatte Zuweisung an Var "vergessen"