Re: Re: Formularcheck mal wieder - 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 Frank (474 Beiträge) am Montag, 7.September.2009, 11:41.
    Re: Re: Formularcheck mal wieder

      Danke Sander, gelesen habe ich viel, aber wenn man nicht jeden Tag damit umgeht fällt schnell etwas wieder weg und das unangenehmste ist ja meistens, daß nicht klar wird, wo es hakt, ich vermute und probiere dann und erst wenn ich verzweifele wende ich mich an den großen Rat des baseportal-Forums.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von frank (8 Beiträge) am Sonntag, 6.September.2009, 15:56.
    Formularcheck mal wieder

      Ich habe ein ernstes Problem mit Formularcheck. Vereinfacht sieht das folgendermaßen aus.



      # kunden id (=session id, die eigentliche kundennummer errechnet sich aus der Id der Datenbank)
      

      $kid||=$_cookies{kid};
      $kid=rand(999999).".".rand(999999) if $kid eq "";
      

      get "KundenId==$kid", "kunden";
      $link="cgi-bin/baseportal.pl?kid=$kid";
      

      $emailadr='frank@2pex.de';
      $bestellnummer_basis=120000;
      

      get "KundenId==$kid sort=BestellungNr range=-1,1", "bestellungen"; # höchste bestellnr. holen
          

      if ($cmd=addOnline)
      {
      

      out "<b>Vielen Dank für Ihr Interesse. <br/>";

      put ["Name", $Name, "KundenId", $kid, "BestellungNr", $BestellungNr+1, "Status", "Unbestellt"], "bestellungen";
        
      $inhalt="Sehr geehrte Damen und Herren,\n\nvielen Dank für Ihre Interesse ";
      


      mail $Email,"Ihre Eingabe","$inhalt ";
      }
      <form action="http://de3.arteurope.de/$link&htx=/arteurope.de/raumfinder/Eifelraum&raum=10&cmd=addOnline" method="post" enctype="multipart/form-data" >
      <input type=hidden name="htx=" value="$htx">
      <input type=hidden name="cmd=" value="addOnline">
      

      <span class="formrl" >Name</span>
       <input type='text' style="width:370px" name="Name=" size="17" value="" ><br/>
      

      <span class="formrl" >EMail</span>
       <input type='text' style="width:370px" name="EMail=" size="17" value="" ><br/>
      

      <input type=submit class="button" style="padding:12px";value="Absenden" name="submit">
      <input type=reset class="button" value="Zurücksetzen" style="padding:12px" name="reset">
      </form>
      


      Das funktioniert alles, aber wenn ich nun mit if-schleifen einen Feldercheck durchführen möchte, kommt gar nichts mehr:

      ...

      if ($cmd=addOnline)
      {
      
        my $emsg="";   if(%_put)             {             $emsg.="<p class='red'>Bitte geben Sie Ihren Namen ein! </p>" if $_put{Name} eq "";             if($emsg eq "")                           {                            out "<b>Vielen Dank für Ihr Interesse. <br/>";

      put ["Name", $Name, "KundenId", $kid, "BestellungNr", $BestellungNr+1, "Status", "Unbestellt"], "bestellungen";
        
      $inhalt="Sehr geehrte Damen und Herren,\n\nvielen, vielen, lieben Dank für Ihr Interesse ";
      

      mail $Email,"Ihre Eingabe","$inhalt ";
                                  }
                     } else 
                     {
                     out "<b>$emsg</b>";
                     undef %_put;
                     }
                       
      } 
      


      Ich fische schon seit längerem im Trüben. Natürlich habe ich das Forum durch und natürlich habe ich schon etliche Klammerungen und andere Konstellationen ausprobiert, aber ich komme nicht drauf.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 6.September.2009, 19:45.
    Re: Formularcheck mal wieder

      erst mal: es gibt keine If-schleifen - nur If-Verzweigungen ;)

      dann ist das immer wahr:
      if ($cmd=addOnline)
      

      genau an dieser Stelle weist du $cmd den Wert addOnline zu.

      du willst aber sicher wissen, ob $cmd den Wert "addOnline" besitzt. Das macht man in Perl so:
      if ($cmd eq "addOnline") <-- eq für Textvergleiche und in "", weil es ein String ist.
      

      Selfhtml hat einen sehr guten Perl-Part dabei - den sollte man, genauso wie die Doku, unbedingt lesen ;)

     Antworten

    Beitrag von Frank (474 Beiträge) am Montag, 7.September.2009, 11:41.
    Re: Re: Formularcheck mal wieder

      Danke Sander, gelesen habe ich viel, aber wenn man nicht jeden Tag damit umgeht fällt schnell etwas wieder weg und das unangenehmste ist ja meistens, daß nicht klar wird, wo es hakt, ich vermute und probiere dann und erst wenn ich verzweifele wende ich mich an den großen Rat des baseportal-Forums.

     Antworten


     
 Liste der Einträge von 7800 bis 7950: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!