Re: Re: Re: Re: pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht - 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 Pouraga (1396 Beiträge) am Donnerstag, 2.Juni.2016, 13:28.
    Re: Re: Re: Re: pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht

       'entweder oder'
      

      "do action=all" reagiert auf $cmd eq "do_add" mit der Ausgabe eines Formulars. Wenn du ein eigenes machst kannst du es auch damit ausgeben. Wenn du das cmd lässt und trotzdem "do action=all" aufrufst hättest du zwei Formulare.

      Kannst das Formular + Eintrag und die Ausgabe der Datenbank aber auch in zwei Templates packen. Dann wird es für dich etwas einfacher zu verstehen.


      Bleib in Perl dann bleibt es überschaubarer, Strukturvorlage:


       if(%_put)
       {
         $emsg = "";
         $emsg.="Bitte gebe deinen Namen ein!<br />" if $_put{Name} eq "";
         if($emsg eq ""){
          put; 
         }
         else{
          out $emsg;
          &form_out;
         }
       }
       else
          &form_out;
       } 
       sub form_out
       {
        //Fomular hier, Mit vorbelegungen und maskierung siehe oben
       }
      


    Ihre Antwort:

    Name: EMail: EMail bei Antwort? WWW:
    Titel:
    Text:

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Sascha (21 Beiträge) am Dienstag, 31.Mai.2016, 17:48.
    pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht

      Achtung Anfänger...

      ich möchte verschiedene Felder als Pflichtfelder einbauen.
      Das was ich hier im Forum gefunden habe, geht erstmal, aber... :-)
      Nach dem 'Abschicken' wird die Fehlermeldung angezeigt und die Eingaben in allen Feldern sind leer.
      Wie kann ich vermeiden, dass alle Eingaben nochmal gemacht werden?

      Danke
      Sascha

      <perl>
      # comment
      out "Hello World!\n";    
      

      if ($cmd eq "add")
       {
          $err.=" Vorname <br>" if $_put{Vorname} eq "";
       }
          if ($err ne "")
       {
              out "<b>Ihre Eingabe wurde nicht gespeichert. Füllen Sie bitte noch folgende Felder aus.<br><br>$err</b><br> "
       }
      </perl>
      <html><head><title>Titel test</title>
      

      <style>
       body { background-image:-;  }
      </style>
      </head><body>
      

      <br><ul>
      <span class="Bild"></span>
      <h2><span class="Titel">Titel test</span></h2>
      <p><span class="Einleitung">Einleitung test</span></p></font>
      

      <do action=all localparams=+ db=main range^=0,20 searchfields=Geschlecht,Vorname,Nachname,Strasse,Ort listfields=Id,Vorname,Nachname,Erstellt_Geändert allfields=Geschlecht,Vorname,Nachname,Strasse,Hausnummer,Postleitzahl,Ort,Tel.,Mobilnr.,email,Bed.\ akzeptiert,Skipass,Zimmerwunsch,Kommentar,Erstellt_Geändert formfields=Geschlecht,Vorname,Nachname,Strasse,Hausnummer,Postleitzahl,Ort,Tel.,Mobilnr.,email,Bed.\ akzeptiert,Skipass,Zimmerwunsch,Kommentar,Erstellt_Geändert showamount=all,sel selectbrowse=top buttonbrowse=top pagebrowse=top indexbrowse=top listtype=list language=de detail=no search=no input=top keyfield=Id indexfield=->

      <p><span class="Text">Text test</span></p>
      <p><span class="Text" name="EMail"><a href="mailto:email test">Autor test</a></span>
      </ul>
      

      </body></html>

     Antworten

    Beitrag von Sascha (21 Beiträge) am Dienstag, 31.Mai.2016, 17:51.
    Re: pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht

      keine Ahnung, warum das so unschön formatiert - mal graue Blöcke, mal weiße Blöcke hier angezeigt wird...

     Antworten

    Beitrag von Sascha (21 Beiträge) am Mittwoch, 1.Juni.2016, 13:28.
    Re: pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht

      hm, habe durch den Hilfeindex geschaut - geht sowas über sessionvariablen http://doku.baseportal.de/799.html
      ?
      Muß man die Feldinhalte in sessionvariablen abspeichern und die Feldinhalte wieder neu befüllen wenn die sessionvariablen nicht leer sind?

      Gruß
      Sascha

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Mittwoch, 1.Juni.2016, 16:27.
    Re: Re: pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht

      Nein, das ist der falsche Ansatz.

      Die Feldinhalte stehen zu diesem Zeitpunkt schon in den post Daten.
      Das ADD Formular zeigt die nur nicht an.

      Mach ein eigenes Formular: http://doku.baseportal.de/69.html

      Das Formular kannst du auch mit
       if ($cmd eq "add" or $cmd eq "do_add")
      
      fangen und ausgeben.

      Vorbelegen der Werte würde man dann z.B. so machen können.

      $Nachname=~ s/"/&quot;/gs;
      <input type="text" name="Nachname:=" value="$Nachname" />
      

      Muss dann nurchoch $cmd umschreiben %_put leeren oder ganz auf <do action=all verzichten um zu verhindern, dass der Eintrag trotzdem geschrieben wird.

     Antworten

    Beitrag von Sascha (21 Beiträge) am Mittwoch, 1.Juni.2016, 17:46.
    Re: Re: Re: pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht

      OMG...
      'Muss dann nur noch ..."
      :-)

      Versteht man Deine Antwort im sinne 'entweder oder'
      Entweder eigenes Formular
      Oder bestehendes Formular mit
       if ($cmd eq "add" or $cmd eq "do_add")
         $Nachname=~ s/"/&quot;/gs;
         <input type="text" name="Nachname:=" value="$Nachname" />
      
      ?

      Was bedeutet das?:
      " Muss dann nurchoch $cmd umschreiben %_put leeren oder ganz auf <do action=all verzichten um zu verhindern, dass der Eintrag trotzdem geschrieben wird. "
      ?
      heißt das, im Fehlerfall, also wenn Die Nutzereingabe für das betroffene Feld leer ist, dass darf nicht geschrieben werden, richtig?

      # %_put leeren:
      %_put = ( );
      # ?
      

      # $cmd umschreiben
      # ????
      

      Danke und Gruß
      Sascha

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Donnerstag, 2.Juni.2016, 13:28.
    Re: Re: Re: Re: pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht

       'entweder oder'
      

      "do action=all" reagiert auf $cmd eq "do_add" mit der Ausgabe eines Formulars. Wenn du ein eigenes machst kannst du es auch damit ausgeben. Wenn du das cmd lässt und trotzdem "do action=all" aufrufst hättest du zwei Formulare.

      Kannst das Formular + Eintrag und die Ausgabe der Datenbank aber auch in zwei Templates packen. Dann wird es für dich etwas einfacher zu verstehen.


      Bleib in Perl dann bleibt es überschaubarer, Strukturvorlage:


       if(%_put)
       {
         $emsg = "";
         $emsg.="Bitte gebe deinen Namen ein!<br />" if $_put{Name} eq "";
         if($emsg eq ""){
          put; 
         }
         else{
          out $emsg;
          &form_out;
         }
       }
       else
          &form_out;
       } 
       sub form_out
       {
        //Fomular hier, Mit vorbelegungen und maskierung siehe oben
       }
      

     Antworten

    Beitrag von Sascha (21 Beiträge) am Donnerstag, 2.Juni.2016, 19:46.
    Re: Re: Re: Re: Re: pflichtfelder, nach Fehlerausgabe werden alle Eingaben gelöscht

      Hallo Pouraga,

      eigentlich macht der code unten ja schon fast alles, was es soll:
      - es prüft auf Pflichtfelder
      - es gibt die Fehlermeldung aus
      - es speichert nicht im Fehlerfall

      Jetzt müßte man es nur noch hinbekommen, dass die Eingaben in den Feldern im Fehlerfall nicht geleert werden.
      Gibt es dazu eine einfache (?) Möglichkeit (ohne z.B. eigene formulare)?

      Gruß
      Sascha

      Ps: Schade, dass diese Pflichtfeldfunktion bei der Seitendefinition wie bei emailfeldern nicht auvch für andere Feldtypen möglich ist...


      $err="";
      if ($cmd eq "add")
       {  
          $err.=" Vorname  <br>" if $_put{Vorname}  eq "";
          $err.=" Nachname <br>" if $_put{Nachname} eq "";
          $err.=" email    <br>" if $_put{email}    eq "";
       }
      if ($err ne "")
       {
          out "<b>Ihre Eingabe wurde nicht gespeichert. Füllen Sie bitte noch folgende Felder aus.<br><br>$err</b><br> ";
          undef %_put; 
       }
      

     Antworten


     
 Liste der Einträge von 1350 bis 1500:Einklappen Zur Eingabe 
Neueste Einträge << 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.09s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!