Re: Funktioniert Perl nur im Body? - 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 Hempelr (0 Beiträge) am Mittwoch, 1.Juni.2005, 14:27.
    Re: Funktioniert Perl nur im Body?

      und wo hast du vorher und jetzt die Sub definiert? Per Include nach dem Aufruf der Sub oder vor dem Aufruf?


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 1.Juni.2005, 12:08.
    Funktioniert Perl nur im Body?

      Hallo,

      habe meine Templates alle so umgeschrieben, dass ich die meisten Parameter und Variablen an zentraler Stelle pflegen kann, das passiert in einer Subroutine, die ich "&do_variablen" genannt habe. Das funktioniert auch bestens.

      Jetzt wollte ich das erweitern, indem ich auch die CSS-Datei als Variable im head-Bereich einsetze:

      ---- schnipp ---
      <perl>
      &do_variablen;   # Setzen Standardparameter
      </perl>
      

      <link rel="stylesheet" href="$gv_cssfile" type="text/css">
      ---- schnapp ---

      Das bringt mir aber diesen Fehler:
      [ Fehler: Fehlerhafter Perl Code in :
      Undefined subroutine &Safe::Root1::do_variablen called at (eval 45) line 2. ]

      Kann mir bitte jemand sagen, wo da der (Denk)Fehler liegt?

      Danke und Gruss

      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 1.Juni.2005, 13:43.
    Re: Funktioniert Perl nur im Body?

      gibts die sub do_variablen?

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 1.Juni.2005, 13:52.
    Re: Funktioniert Perl nur im Body?

      klar gibt es die,
      die gibst es schon die ganze Zeit,
      ich habe lediglich den Aufruf der Subroutine vom Anfang des Body nach oben in den Head-Bereich gesetzt, um auch noch den Link für die CSS-File zu bedienen.

     Antworten

    Beitrag von Hempelr (0 Beiträge) am Mittwoch, 1.Juni.2005, 14:27.
    Re: Funktioniert Perl nur im Body?

      und wo hast du vorher und jetzt die Sub definiert? Per Include nach dem Aufruf der Sub oder vor dem Aufruf?

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 1.Juni.2005, 16:13.
    Re: Funktioniert Perl nur im Body?

      <include src=/bestguide/bg_p/bg_psub1>
      <title>Menu +++</title>
      

      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

      <perl>
      &do_variablen;   # Setzen Standardparameter
      </perl>
      

      <link rel="stylesheet" href="$gv_cssfile" type="text/css">

      <script language="JavaScript" type="text/javascript">
      <!-------------------------------------------------->
      <!-- JS formcheck      Eingabe-Prüfung            -->
      <!-------------------------------------------------->
      <!--
      function formcheck_login()
         {
          if (!document.forms[0].elements["namerein="].value)
            {
             alert("Bitte geben Sie Ihre NUTZER-ID ein");
             document.forms[0].elements["namerein="].focus();
             return false;
            }
          if (!document.forms[0].elements["pwrein="].value)
            {
             alert("Bitte geben Sie Ihr PASSWORD ein");
             document.forms[0].elements["pwrein="].focus();
             return false;
            }
         }
      //-->
      </script>
      

      </head>
      <body>
      

      <perl>
      &do_sid;         # Generieren Session-ID
      

      #------------------------------------------------#
      #-                    Logout                     #
      #------------------------------------------------#
      if ($cmd eq "logout")
         {
          mod "us_nickname==$namerein", ["us_session_id", ""], "$gv_userfile";
          $namerein = "";
         }
      #------------------------------------------------#
      #-                    Login                      #
      #------------------------------------------------#
      elsif ($cmd eq "login")
         {
          if ($namerein ne "" && $pwrein ne "" && $sid eq "")
             {
              get "us_nickname==!$namerein","$gv_userfile";
              if ($us_password1 ne "" && $us_password1 eq $pwrein)
                 {
                  $save_lastvisit = $us_lastvisit;
                  mod "us_nickname==$namerein", ["us_session_id", "$sid_aktuell"], "$gv_userfile";
                  $sid=$sid_aktuell;
                 }
              else
                 {
                  $msg = "LER"; # Login-Error (Falscher User und/oder Passwort)
                  $namerein="";
                 }
             }
         }
      

      if ($namerein ne "" && $sid ne "")
         {
          out "<!------ test, ob aktuelle session-id noch gültig ist ---------->\n";
          get "us_nickname==$namerein", "$gv_userfile";
          $sid_max = 10+(1*$us_session_id);
      
          if ($sid eq $us_session_id && $sid_aktuell <= $sid_max)        {         out "<!------ session-id ist gültig - session-id wird aktualisiert -->\n";         mod "us_nickname==$namerein", ["us_session_id", "$sid_aktuell"], "$gv_userfile";         $sid=$sid_aktuell; #------------------------------------------------# #- ab hier : Ausgabe Menu # #------------------------------------------------#
              &do_header; # Ausgabe Header         &do_headline("Hauptmenu"); # Ausgabe Content-Headline         &do_content_o; # Ausgabe Content-Section         out "<div class=\"box_msg\">\n";         out "<span class=\"a10\">User : $us_vorname $us_nachname \n";         out "&nbsp;&nbsp;&nbsp;&nbsp;Aktueller Login : ";         out datum($us_lastvisit, "kurz");         out "\n";         out "&nbsp;&nbsp;&nbsp;&nbsp;Letzter Besuch : ";         out datum($save_lastvisit, "kurz");         out "</span>\n";         out "</div>\n";
              out "<div class=\"box_form\">\n";         out "<table>\n";         get "up_nickname==$namerein sort=up_nickname,up_sort,up_progname", "$gv_usprfile";         $anz_les = -1;         while (get_next("$gv_usprfile"))            {             $anz_les++;             $anz_tr = $anz_les % 2;             out "<tr>\n" if (!$anz_tr);
                  get "pr_name==$up_progname sort=pr_sort,pr_name", "$gv_progfile";             if ($pr_name ne $up_progname)                {                 $pr_bezeichnung = "";                 $pr_bezeichnung = "<span style=\"COLOR:red\">++ Error ++</span>";                 $work_progmain = "";                 $work_progmain = "-";                }             else                {                 $work_progmain = "";                 $work_progmain = "http://";                 $work_progmain .= $pr_root;                 $work_progmain .= $up_progname;                 $work_progmain .= "&namerein=$us_nickname&sid=$us_session_id" if ($pr_typ eq "BP"); # baseportal-Aufrufe benötigen Zugangs-Parameter, andere nicht.                 $work_progmain .= "\"";                 $work_progmain .= $pr_param;                }
                  out "<td>";             out "<a class=\"menu_position\" href=\"$work_progmain" if ($pr_name eq $up_progname);             out "<a class=\"menu_position\" href=#" if ($pr_name ne $up_progname);             out " target=\"_blank\"" if ($pr_target eq "B"); # Programm in neuem Fenster öffnen             out ">$pr_bezeichnung</a></td>\n";             out "</tr>\n" if ($anz_tr);            }         if (!$anz_tr)            {             out "<td width=\"10%\">&nbsp;</td>\n";             out "<td>&nbsp;</td>\n";             out "<td width=\"10%\">&nbsp;</td>\n";            }         out "<tr><td colspan=4 align=\"center\">\n";         out "<br><a class=\"menu_position\" href=\"$gv_mainroot$htx&namerein=$namerein&cmd=logout\">Logout!</a>\n";         out "</td></tr>";         out "</table>\n";         out "</div>\n";
              &do_content_u; # Ende Content-Section #------------------------------------------------# #- bis hier : Ausgabe Menu # #------------------------------------------------#
             }     else        {         $msg = "ABG"; # SessionID abgelaufen         $login_name=$us_nickname;      # $namerein="";        }    } #------------------------------------------------# #- Ausgabe Login-Maske # #------------------------------------------------#

      if ($namerein eq "")
         {
          &do_header;                         # Ausgabe Header
          &do_headline("Login $gv_progbez");  # Ausgabe Content-Headline
          &do_content_o;                      # Ausgabe Content-Section
          out "<div class=\"box_msg\">\n";
          out "<span class=\"program_msg\">Session-id ist abgelaufen - Bitte melden Sie sich erneut an!</span>\n" if ($msg eq "ABG");
          out "<span class=\"program_msg\">Anmeldung fehlgeschlagen - Bitte melden Sie sich erneut an!</span>\n" if ($msg eq "LER");
          out "<span class=\"program_msg\">&nbsp;</span>\n" if (!$msg);
          out "</div>\n";
      out <<EOF;
          <div class="box_form">
          <form action="$gv_mainroot=$htx&cmd=login" method="post" enctype="multipart/form-data" onsubmit="return formcheck_login()">
          <input type=hidden name="htx=" value="$htx">
          <input type=hidden name="cmd=" value="login">
          <div class="row"><span class="label">Benutzerkennung :</span>
                           <span class="formf"><input type="text" name="namerein=" value="$login_name" /></span></div>
          <div class="row"><span class="label">Passwort :</span>
                           <span class="formf"><input type="password" name="pwrein=" /></span></div>
          <div class="row"><span class="button"><input class="button" type="submit" value="Anmelden" /></span></div>
          </form>
          </div>
      EOF
          &do_content_u;   # Ende Content-Section
         }
      &do_bp_out if ($gv_bpout);
      

      #------------------------------------------------#
      #--SR         Setzen Standard-Variablen          #
      #------------------------------------------------#
      sub do_variablen
         {
          $gv_prog      = "bg_p0001";
          $gv_progbez   = "Menu";
          $gv_mainroot  = "http://de2.netpure.de/cgi-bin/baseportal.pl?htx=";
          $gv_gfxroot   = "http://www.bestguide.de/gfx";
          $gv_menuprog  = "/bestguide/bg_p/bg_p0001";
          $gv_mainfile  = "";
          $gv_userfile  = "../bg_d/bg_user";
          $gv_usprfile  = "../bg_d/bg_uspr";
          $gv_progfile  = "../bg_d/bg_prog";
          $gv_parafile  = "../bg_d/bg_para";
          $gv_cssfile   = "http://www.bestguide.de/bg_css/css_admin_neu.css";
          $gv_bpout     = "";
         }
      </perl>
      </body></html>
      

     Antworten

    Beitrag von richard (1187 Beiträge) am Mittwoch, 1.Juni.2005, 16:46. WWW: posaunenchor-rhoden.de
    Re: Funktioniert Perl nur im Body?

      Denke Du solltest die Variable innerhalb eines Perl-Bereiches ausgeben.

     Antworten


     
 Liste der Einträge von 24000 bis 24150: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.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!