Re: Perl-Frage Variablen mit Wert aus Sub an Hauptprogramm zurück - wie? - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    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?

      Ich versteh zwar nicht ganz genau was Du willst, aber, aber, aber... wo fang ich an? ;-)

      Eigentlich sind Variablen, so Du das nicht extra anders bestimmst überall im Programm/Template sichtbar, d.h. wenn Du beim do_all ein "nutzaend=$nutzaend" dazu machst (Du weisst wo, oder?), dann sollte das gehen...

      Also hier mal kurz ein entsprechender Code:

      &meinesub();
      

      do_all "", "nutzaend=$nutzaend";

      sub meinesub()
      {
        $nutzaend="ja";
      }
      

      nunja, das müsste so funktionieren, obwohl es nicht ganz sauber ist, weil, weil, weil... ;-)

      "sauberer" wäre sowas wie:

      $nutzaend=&meinesub();
      

      do_all "", "nutzaend=$nutzaend";

      sub meinesub()
      {
        return "ja";
      }
      

      ungefähr klar?


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    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)

     Antworten

    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?

      Ich versteh zwar nicht ganz genau was Du willst, aber, aber, aber... wo fang ich an? ;-)

      Eigentlich sind Variablen, so Du das nicht extra anders bestimmst überall im Programm/Template sichtbar, d.h. wenn Du beim do_all ein "nutzaend=$nutzaend" dazu machst (Du weisst wo, oder?), dann sollte das gehen...

      Also hier mal kurz ein entsprechender Code:

      &meinesub();
      

      do_all "", "nutzaend=$nutzaend";

      sub meinesub()
      {
        $nutzaend="ja";
      }
      

      nunja, das müsste so funktionieren, obwohl es nicht ganz sauber ist, weil, weil, weil... ;-)

      "sauberer" wäre sowas wie:

      $nutzaend=&meinesub();
      

      do_all "", "nutzaend=$nutzaend";

      sub meinesub()
      {
        return "ja";
      }
      

      ungefähr klar?

     Antworten

    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

     Antworten

    Beitrag von Ruben (403 Beiträge) am Mittwoch, 21.März.2001, 11:23.
    War selber der Dussel, hatte Zuweisung an Var "vergessen"

      Hallo,
      bin selber der Dussel gewesen, hab einfach "vergessen" der Variable, die Übergeben werden soll, nen Inhalt zu übergeben.
      Also so wie selbst von mir im letzten Posting beschrieben gehts - Danke für die Hilfe!
      In der Sub setzte ich am Anfang $var="ja" und dann muß (selbstredend) halt auch rein:
      do_all "","var=$var"; naja, bloß gut daß es das Forum gibt.....
      
      Ruben

     Antworten


     
 Liste der Einträge von 64050 bis 64200:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!