Re: formular - 1 statt 2 templates ?? möglich ?? - 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 (1976 Beiträge) am Montag, 29.Dezember.2003, 16:27.
    Re: formular - 1 statt 2 templates ?? möglich ??

      Hallo, tini,
      mhm - also das deutet daraf hin, dass hier was mit den Perl-Blöcken nicht stimmt (Blöcke immer mit { und } "eingerahmt") - zähl mal die öffnenenden und die schließenden geschweiften Klammern, Zahl muss identisch sein ;-)
      Du musst dir die Wirkungsweise der Perl-Routine mal versuchen klarzumachen, ich kommentiers hier nochmal (Kommentare in Perl mittels # beginnend, alles nach einem # wird nicht mehr interpretiert... ) - normalerweise müsste das so funzen, wie ich gepostet habe...
      ---schnipp
      <perl>
      if ($cmd eq "add") { # wenn $cmd gleich "add" ist
      # schaun, ob in Pflichtfelder was eingegeben wurde, wenn nicht, Variable err füllen
          $err.=" -Pflichtfeld1<br>" if $_put{Pflichtfeld1} eq "";
          $err.=" -Pflichtfeld2<br>" if $_put{Pflichtfeld2} eq "";
          # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
          if ($err ne ""){ # wenn Var err nicht leer ist Fehlermeldung ausgeben
              # put-Hash leeren, damit nichts gespeichert wird
              out "<b>Der Eintrag wurde nicht vorgenommen.</b> <br>$err";
              undef %_put;
         } else { # wenn nichts in err steht
             $senddat=datum('jetzt', 'intern'); # $enddat füllen
             mail "$Email", "Betreff", "Text", "Email1", "$Name", "Text", 
             "$Email3",""; #mail verschicken
             # Bestätigungstext ausgeben
             out<<EOF;
             <p>
             bla bla Text nach Bestätigung des senden-Buttons.
      EOF
         } # E if/else err
         # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      } else { # wenn cmd nicht "add" ist
      # Eingabeformular ausgeben
      out<<EOF;
      Eingabeformular:
      <form action="http://www.domain.de/baseportal?htx=/domain.de/senden"&cmd=add" method=post enctype="multipart/form-data">
      <input type="hidden" name="cmd=" value="add">
      <input type="hidden" name="htx=" value="/domain.de/senden">
      
      ...
      </form>
      EOF
      } # E if/else-cmd
      </perl>
      <do action=input db=daten>
      
      ----schnapp
      Wichtig - wenn ein Kommentar irgendwo in ner Zeile ist, dann mit Perl-Zeichen auf ner neuen Zeile anfangen, sieht bei der Fehlermeldung fast so aus, als hättest du die Blockklammer noch in der Komemntarzeile stehen....
      Hth
      Ruben


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Tini (187 Beiträge) am Montag, 29.Dezember.2003, 10:56.
    formular - 1 statt 2 templates ?? möglich ??

      hallo,

      meine formulare habe ich so gestaltet, daß
      im tempalte "formular" die eintragungen vorgenommen werden
      und an das template "senden" übergeben werden, wo:
      pflichtfelder überprüft werden
      -die daten in die datenbank eingetragen werden
      -die eintragsdaten per mail verschickt werden

      gibt es die möglichkeit, die beiden templates in einem
      einzigen template zu haben??


      danke
      tini




      template "formular":

      <form action="http://www.domain.de/baseportal?htx=/domain.de/senden"&cmd=add" method=post enctype="multipart/form-data">
      <input type="hidden" name="cmd=" value="add">
      <input type="hidden" name="htx=" value="/domain.de/senden">
      



      template "senden":

      <perl>
      

      if ($cmd eq "add") {
      $err.=" -Pflichtfeld1<br>" if $_put{Pflichtfeld1} eq "";
      $err.=" -Pflichtfeld2<br>" if $_put{Pflichtfeld2} eq "";
      }
      if ($err ne ""){
      undef %_put;
      }
      if ($err ne "") {
          out "<b>Der Eintrag wurde nicht vorgenommen.</b> <br>$err";
          undef %_put;
        }else{
      

      $senddat=datum('jetzt', 'intern');
      if($cmd eq "add")
      {
      mail "$Email", "Betreff", "
      

      Text

      ", "Email1", "$Name", "Text", "$Email3", "";;
      }
      
        }   }
      </perl>

      <p>
      
      bla bla Text nach Bestätigung des senden-Buttons.


      <do action=input db=daten>
      

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 29.Dezember.2003, 12:06.
    Re: formular - 1 statt 2 templates ?? möglich ??

      Hallo, tini,
      kein Problem - du hast ja auch schon den richtigen Ansatz drin...
      Erst mal kannst du die zwei * if ($err ne "") * zusammenfassen, stehen eh schon hintereinander...genauso die vielen * if ($cmd eq "add") *
      Dann einfach im if/else-Block für den Parameter cmd da dann das Formular ausgeben, wenn cmd nicht den Wert "add" hat - also in etwa so:
      ---schnipp
      <perl>
      if ($cmd eq "add") {
      $err.=" -Pflichtfeld1<br>" if $_put{Pflichtfeld1} eq "";
      $err.=" -Pflichtfeld2<br>" if $_put{Pflichtfeld2} eq "";
         if ($err ne ""){
         out "<b>Der Eintrag wurde nicht vorgenommen.</b> <br>$err";
         undef %_put;
         } else {
         $senddat=datum('jetzt', 'intern');
         mail "$Email", "Betreff", "Text", "Email1", "$Name", "Text", "$Email3","";
         out<<EOF;
         <p>
         bla bla Text nach Bestätigung des senden-Buttons.
      EOF
         } # E if/else err
      } else {
      out<<EOF;
      Eingabeformular:
      <form action="http://www.domain.de/baseportal?htx=/domain.de/senden"&cmd=add" method=post enctype="multipart/form-data">
      <input type="hidden" name="cmd=" value="add">
      <input type="hidden" name="htx=" value="/domain.de/senden">
      
      ...
      </form>
      EOF
      } # E if/else cmd
      </perl>
      <do action=input db=daten>
      
      ---schnapp
      Hth
      Ruben

     Antworten

    Beitrag von Tini (187 Beiträge) am Montag, 29.Dezember.2003, 12:42.
    Re: formular - 1 statt 2 templates ?? möglich ??

      hi ruben,

      werde ich später gleich mal probieren.

      danke :-)
      tini

     Antworten

    Beitrag von Tini (187 Beiträge) am Montag, 29.Dezember.2003, 15:22.
    Re: formular - 1 statt 2 templates ?? möglich ??

      hallo ruben,

      habe das so weit gemacht (versucht),
      bekomme aber folgende fehlermeldung?!?

      [ Fehler: Fehlerhafter Perl Code in :
      syntax error at (eval 25) line 65, near "# E if/else err } else" ]

      den part mit "# E if/else err } else"
      hatte ich deinem beitrag entnommen.

      tini

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 29.Dezember.2003, 16:27.
    Re: formular - 1 statt 2 templates ?? möglich ??

      Hallo, tini,
      mhm - also das deutet daraf hin, dass hier was mit den Perl-Blöcken nicht stimmt (Blöcke immer mit { und } "eingerahmt") - zähl mal die öffnenenden und die schließenden geschweiften Klammern, Zahl muss identisch sein ;-)
      Du musst dir die Wirkungsweise der Perl-Routine mal versuchen klarzumachen, ich kommentiers hier nochmal (Kommentare in Perl mittels # beginnend, alles nach einem # wird nicht mehr interpretiert... ) - normalerweise müsste das so funzen, wie ich gepostet habe...
      ---schnipp
      <perl>
      if ($cmd eq "add") { # wenn $cmd gleich "add" ist
      # schaun, ob in Pflichtfelder was eingegeben wurde, wenn nicht, Variable err füllen
          $err.=" -Pflichtfeld1<br>" if $_put{Pflichtfeld1} eq "";
          $err.=" -Pflichtfeld2<br>" if $_put{Pflichtfeld2} eq "";
          # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
          if ($err ne ""){ # wenn Var err nicht leer ist Fehlermeldung ausgeben
              # put-Hash leeren, damit nichts gespeichert wird
              out "<b>Der Eintrag wurde nicht vorgenommen.</b> <br>$err";
              undef %_put;
         } else { # wenn nichts in err steht
             $senddat=datum('jetzt', 'intern'); # $enddat füllen
             mail "$Email", "Betreff", "Text", "Email1", "$Name", "Text", 
             "$Email3",""; #mail verschicken
             # Bestätigungstext ausgeben
             out<<EOF;
             <p>
             bla bla Text nach Bestätigung des senden-Buttons.
      EOF
         } # E if/else err
         # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#
      } else { # wenn cmd nicht "add" ist
      # Eingabeformular ausgeben
      out<<EOF;
      Eingabeformular:
      <form action="http://www.domain.de/baseportal?htx=/domain.de/senden"&cmd=add" method=post enctype="multipart/form-data">
      <input type="hidden" name="cmd=" value="add">
      <input type="hidden" name="htx=" value="/domain.de/senden">
      
      ...
      </form>
      EOF
      } # E if/else-cmd
      </perl>
      <do action=input db=daten>
      
      ----schnapp
      Wichtig - wenn ein Kommentar irgendwo in ner Zeile ist, dann mit Perl-Zeichen auf ner neuen Zeile anfangen, sieht bei der Fehlermeldung fast so aus, als hättest du die Blockklammer noch in der Komemntarzeile stehen....
      Hth
      Ruben

     Antworten

    Beitrag von Tini (187 Beiträge) am Dienstag, 30.Dezember.2003, 09:40.
    Re: formular - 1 statt 2 templates ?? möglich ??

      guten morgen,

      hat geklappt :-)

      1 frage habe ich noch für dieses jahr.

      wenn nicht alle pflichtfelder ausgefüllt sind, kommt ja der hinweis
      "Ihre Kleinanzeige konnte nicht ....."

      wie bekomme ich es denn hin, daß er mir auch automatisch eine info
      rausgibt, wenn alle pflichtfelder ausgefüllt wurden, bzw. der eintrag
      vorgenommen wurde?

      danke
      tini



      --------------
      $err.="<font face=verdana,helvetica size=-1 color=#FF0000>
       -Anzeigentyp<br>" if $_put{Anzeigentyp} eq "";
      if (length($_put{Text}) > 120){
      $err.="<font face=verdana,helvetica size=-1 color=#FF0000>
      Ihr Eintrag darf max. 120 Zeichen haben.<br>";
      }
      if ($err ne ""){
      undef %_put;
      }
      if ($err ne "") {
          out "<b>Ihre Kleinanzeige konnte nicht entgegengenommen werden.<br>
      Es wurden nicht alle Felder korrekt ausgefüllt.</b> <br>$err";
          undef %_put;
      
        }else{ $senddat=datum('jetzt', 'intern'); if($cmd eq "add")
      -------------------------------------

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 30.Dezember.2003, 18:38.
    Re: formular - 1 statt 2 templates ?? möglich ??

      Hallo, tini,
      verstehe jetzt die Frage nicht, du hast doch einen Zweig, wo die Ausgabe gemacht wird, wenn kein err vorliegt, dort kannst du doch beliebige Ausgaben reinzaubern....
      Ich seh grad in deinem geposteten Quelltext, dass du immer noch zweimal hintereinander das if($err ne ""){ tuwas } stehen hast, kannst du doch zusammenfassen ;-)
      also so:
      ....

      if ($err ne ""){
      undef %_put;
      # }
      #  if ($err ne "") {
      out "<b>Ihre Kleinanzeige konnte nicht entgegengenommen werden.<br>
      Es wurden nicht alle Felder korrekt ausgefüllt.</b> <br>$err";
          undef %_put;
      } else {
      

      .....
      wobei die auskommentierten Zeilen entfallen können....
      hth
      Ruben
      Guten Rutsch an alle!

     Antworten

    Beitrag von Tini (187 Beiträge) am Mittwoch, 31.Dezember.2003, 00:04.
    Re: formular - 1 statt 2 templates ?? möglich ??

      hallo ruben,

      oops, daß doppelt gemoppelte habe ich übersehen
      und den ausgabetext bei korrekter eintragung habe
      ich falsch gesetzt.

      auf jeden fall ist in sachen perl ein groschen mehr
      bei mir gefallen und so spar ich mir wieder ein template
      pro formular.

      kann man die fehlermeldungen, bzw. die info über die korrekte
      eintragung so setzen, als ob man eine neue seite hätte.

      jetzt ist es ja so, daß die infos unter dem formular erscheinen.
      schön wäre ja, wenn der infotext auf einer "leeren" seite erscheint
      und man über einen zurück-button (java) auf das eigentliche formular
      zurück kommt - wäre übersichtlicher.
      da ist die sache mit 2 templates einfach übersichtlicher.

      so - schluß jetzt erstmal dieses jahr!

      rutscht alle gut rüber - bis nächstes jahr !
      ich freue mich

      tini

     Antworten

    Beitrag von Jan Vaceanu (1 Beitrag) am Mittwoch, 28.Januar.2004, 15:52.
    Re: formular - 1 statt 2 templates ?? möglich ??

      Du willst Dreadlocks haben? Dreads vom Profi gibt`s bei Jan Vaceanu in Bad Nauheim. Termin nach Vereinbarung unter: 0175-28031112 Auch erreichbar unter: Jan_Vaceanu@yahoo.com

     Antworten

    Beitrag von sprooben (1 Beitrag) am Samstag, 14.Januar.2006, 07:42.
    Re: formular - 1 statt 2 templates ?? möglich ??

      <perl>
      if ($cmd eq "add") {
      $err.=" -Pflichtfeld1<br>" if $_put{Pflichtfeld1} eq "";
      $err.=" -Pflichtfeld2<br>" if $_put{Pflichtfeld2} eq "";
         if ($err ne ""){
         out "<b>Der Eintrag wurde nicht vorgenommen.</b> <br>$err";
         undef %_put;
         } else {
         $senddat=datum('jetzt', 'intern');
         mail "$Email", "Betreff", "Text", "Email1", "$Name", "Text", "$Email3","";
         out<<EOF;
         <p>
         bla bla Text nach Bestätigung des senden-Buttons.
      EOF
         } # E if/else err
      } else {
      out<<EOF;
      Eingabeformular:
      <form action="http://www.domain.de/baseportal?htx=/domain.de/senden"&cmd=add" method=post enctype="multipart/form-data">
      <input type="hidden" name="cmd=" value="add">
      <input type="hidden" name="htx=" value="/domain.de/senden">
      

     Antworten


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