fehlermeldung nach check der formfelder

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    in dieser tabelle werden 2 htmseiten ausgetauscht.die 1. ist errorin.htm die 2.errorout.htm die durch den submitbutton ausgelöst wird.das heist mit anderen worten
    die txt.php ruft im grunde doch nur 2 unterschiedliche seiten auf.
    test:http://www.foto-et-grafik.de unter contact
    <tr><td height="85" colspan="2" align="left" valign="top">
    <iframe name="errorFrame" src="errorout.htm" frameborder="0" scrolling="no" align="left" height="85" width="473" valign="top" bgcolor="#959595">
    </iframe></td></tr>
    und da das ganze formular mit einem formaction umrandet ist,und man sendet den
    submitbutton,muss es doch möglich sein,die zweite seite dareinzu bekommen.und das formular bleibt stehen.
    Last edited by nutella; 20-11-2005, 22:50.

    Comment


    • #17
      Hmm

      PHP Code:
      $form_show true;

      // Dein restlicher Code....

      if ($form_show)
      {
        
      // Form Code

      Wenn fehler auftreten kannst du selbst bestimmen ob dein Formular trotzdem angezeigt wird oder nicht.

      Gibt sicherlich elegantere Lösungen aber sowas sollte funktionieren.
      Viele setzen sich eine Error Variable die ausgegeben wird wenn sie nicht leer ist. Wenn sie leer ist wird die Mail versendet.
      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Comment


      • #18
        @hhcm,habe ein verständigungsproblem.wo fängt bei dir der restliche code bzw formcode an?habe mal die zwei zeilen mit color red angegeben
        PHP Code:
        <?php

        [COLOR=red]$form_show true;[/COLOR
        $Empfaenger "info@foto-et-grafik.de";
        if(
        $_REQUEST['Send'])
        {
        if(empty(
        $_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
        [
        COLOR=red]if ($form_show)[/COLOR]
        {
        echo 
        '<iframe name="errorFrame" width="437" height="85" align="left" valign="top"
         scrolling="no" frameborder="0" bgcolor="#959595" src="http://www.foto-et-grafik.de/
        cont/errorin.htm"></iframe>'
        ;
        }
        else
        {
        $Mailbetreff "Mailoffice: ";
        $Mailbetreff .= $_REQUEST['Betreff'];
        $Trenner md5(uniqid(time()));
        $Header "From: ".$_REQUEST['Email'];
        $Header .= "\n"
        $Header .= "MIME-Version: 1.0"
        $Header .= "\n"
        $Header .= "Content-Type: multipart/mixed; boundary=$Trenner"
        $Header .= "\n\n"
        $Header .= "This is a multi-part message in MIME format"
        $Header .= "\n"
        $Header .= "--$Trenner"
        $Header .= "\n"
        $Header .= "Content-Type: text/plain"
        $Header .= "\n"
        $Header .= "Content-Transfer-Encoding: 8bit"
        $Header .= "\n\n"
        $Header .= "Sie haben folgende Nachricht erhalten: \n\n";
        while(list(
        $Formularfeld$Wert)=each($_REQUEST))
        {
        if(
        $Formularfeld!="Send")
        {
        $Header .= $Formularfeld.": ".$Wert."\n";
        }
        }
        $Header .= "\nDatum/Zeit: ";
        $Header .= date("d.m.Y H:i:s");
        $Header .= "\n"
        $Header .= "--$Trenner"
        $Header .= "\n"
        $Header .= "Content-Type: "
        mail($Empfaenger$Mailbetreff""$Header); 
        echo 
        '<iframe name="txtFrame" width="437" height="432" align="left" valign="top"
         frameborder="0" scrolling="no" bgcolor="#959595" src="http://www.foto-et-grafik.de/
        cont/feedback.htm"></iframe>'
        ;
        }
        }
        else
        {
        ?><form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">

        Comment


        • #19
          PHP Code:
          $form_show true;

          if(
          $_REQUEST['Send'])
          {
              if (
          /* Deine Prüfungen */)
              {
                  
          // Alles ok - Formular braucht nicht mehr angezeigt zu werden
                  
          $form_show false;

                  
          // Header und Mailtext bauen
                  
                  
          if (mail())
                  {
                      echo 
          "Mail gesendet";
                  } 
                  else
                  {
                      echo 
          "Fehler beim Mail senden";
                  }
              } 
              else 
              {
                  
          // Fehlende Formularfelder o.ä
                  // Iframe anzeigen
              
          }
                  
          }

          if (
          $form_show)
          {
              
          // Formular anzeigen

          Egal WO in deinem Script kannst du jederzeit form_show auf false setzen und damit wird´s nicht mehr angezeigt.
          Solange es True bleibt stehts drunter.

          Wenn du die schon ausgefüllten Felder wieder angezeigt haben möchtest musst du dein Formular erweitern.


          PHP Code:
          <input name="feldname" value="<?= $_REQUEST['feldname']; ?>">
          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Comment


          • #20
            je mehr ich da rumfutele jemehr verliere ich den überblick.ich weiß nicht ob ich es richtig
            gemacht habe,aber anscheint nicht.in zeile 63=if(mail() )zeigt er mir ein fehler.dann schreibst du das in den code // Alles ok - Formular braucht nicht mehr angezeigt zu werden $form_show = false;//doch was bringt es wenn nach dem versenden der mail
            das formular nicht da ist.es bestände doch die möglichkeit das man nochmals eine mail
            versenden möchte.
            und so sieht die veränderung aus
            PHP Code:
            <?php
            $form_show 
            true;
            $Empfaenger "info@foto-et-grafik.de";
            if(
            $_REQUEST['Send'])
            {
            if(empty(
            $_REQUEST['Betreff']) || 
            empty(
            $_REQUEST['Name']) || 
            empty(
            $_REQUEST['Email']) || 
            empty(
            $_REQUEST['Nachricht']))
                {
                
            $Mailbetreff "Mailoffice: ";
                    
            $Mailbetreff .= $_REQUEST['Betreff'];
                    
            $Trenner md5(uniqid(time()));
                    
            $Header "From: ".$_REQUEST['Email'];
                    
            $Header .= "\n"
                    
            $Header .= "MIME-Version: 1.0"
                    
            $Header .= "\n"
                    
            $Header .= "Content-Type: multipart/mixed; boundary=$Trenner"
                    
            $Header .= "\n\n"
                    
            $Header .= "This is a multi-part message in MIME format"
                    
            $Header .= "\n"
                    
            $Header .= "--$Trenner"
                    
            $Header .= "\n"
                    
            $Header .= "Content-Type: text/plain"
                    
            $Header .= "\n"
                    
            $Header .= "Content-Transfer-Encoding: 8bit"
                    
            $Header .= "\n\n"
                    
            $Header .= "Sie haben folgende Nachricht erhalten: \n\n";
                    while(list(
            $Formularfeld$Wert)=each($_REQUEST))
                    {
                        if(
            $Formularfeld!="Send")
                        {
                            
            $Header .= $Formularfeld.": ".$Wert."\n";
                        }
                    }
                    
            $Header .= "\nDatum/Zeit: ";
                    
            $Header .= date("d.m.Y H:i:s");
                    
            $Header .= "\n"
                    
            $Header .= "--$Trenner"
                    
            $Header .= "\n"
                    
            $Header .= "Content-Type: "
                    
            mail($Empfaenger$Mailbetreff""$Header); 
                    if (
            mail())
                    {
                        echo 
            '<iframe name="txtFrame" width="437" height="432" align="left"
             valign="top" frameborder="0" scrolling="no" bgcolor="#959595" src="http://
            [url]www.foto-et-grafik.de
            /cont/feedback.htm[/url]"></iframe>'
            ;
                    } 
                    else
                    {
                        echo 
            '<iframe name="errorFrame" width="437" height="85" align="left"
             valign="top" scrolling="no" frameborder="0" bgcolor="#959595" src="http://
            [url]www.foto-et-grafik.de/cont
            /errorin.htm[/url]"></iframe>'
            ;
                    }
                } 
                else 
                {
                        
            // Fehlende Formularfelder o.ä
                    // Iframe anzeigen
                
            }
                    
            }

            if (
            $form_show)
            {
                
            // Formular anzeigen
            }
            ?>
            Code:
            <form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/
            form-data" method="post"><table width="437" height="400" border="0" cellpadding="0" cellspacing="0">  
              <tr>
                <td height="85" colspan="2" align="left" valign="top"><iframe name="errorFrame"
             src="errorout.htm" frameborder="0" scrolling="no" align="left" height="85" width="473" valign="top" bgcolor="#959595"></iframe></td>
                </tr>
              <tr>
                <td width="90" height="30" valign="middle"><span class="star">* </span>betreff 
            :</td>
                <td width="347" height="30" valign="middle"><input name="Betreff" type="text"
             size="35" maxlength="51"></td>
              </tr>
              <tr>
                <td width="90" height="30" valign="middle"><span class="star">*</span> name
             :</td>
                <td width="347" height="30" valign="middle"><input name="Name" type="text"
             size="35" maxlength="51"></td>
              </tr>
              <tr>
                <td width="90" height="30" valign="middle"><span class="star">*</span> mail :
            </td>
                <td width="347" height="30" valign="middle"><input name="Email" type="text"
             size="35" maxlength="51"></td>
              </tr>
              <tr>
                <td width="90" height="5"></td>
                <td width="347" height="5"></td>
              </tr>
              <tr>
                <td width="90" height="190" align="left" valign="top"><span class="star">*</span> message :</td>
                <td width="347" height="190" align="left" valign="top"><textarea cols="34" rows="10" name="Nachricht"></textarea></td>
              </tr>
              <tr>
                <td width="90" height="19"></td>
                <td align="left" valign="top"><img src="tr.gif" width="72" height="19">
                  <input name="Send" type="submit" value="Send" height="19" width="50">
                  <img src="tr.gif" width="30" height="19">
                  <input name="Reset" type="reset" value="Clear" height="19" width="50">
                </td>
              </tr>
            </table>
             </form>
            </body>
            </html>

            Comment


            • #21
              Original geschrieben von nutella
              dann schreibst du das in den code // Alles ok - Formular braucht nicht mehr angezeigt zu werden $form_show = false;//doch was bringt es wenn nach dem versenden der mail das formular nicht da ist.es bestände doch die möglichkeit das man nochmals eine mail versenden möchte.
              Ja dann lass das Formular halt in jedem Falle anzeigen, wenn dir das lieber ist - entweder vorbelegt im Fehlerfalle, oder "frisch" nach dem erfolgreichen Versenden einer Mail.

              Aber warum erwähnst du das hier überhaupt - wieso machst du es nicht einfach?
              Oder muss das jetzt auch wieder vorgekaut werden?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Comment


              • #22
                @wahaga
                ich will ja nicht an deine kompetenz zweifeln,aber es gibt leute die haben php nicht mit der muttermilch gesaugt.

                Comment


                • #23
                  Ich hab dir deinen Code nicht bebaut sondern lediglich hinweise gegeben.. mail() musst du SELBSTVERSTÄNDLICH gegen deine eigene mail funktion austauschen.

                  Wenn du einfach nur deinen iframe bei fehlern einblenden willst dann mach es doch einfach.

                  Wenn Fehler dann Iframe sonst schick mail....

                  Ich z.B hab PHP nicht mit der Muttermilch gesaugt aber ich kann lesen.
                  Was du da vor hast sind Grundlagen .. Es gibt leute die wissen nicht wo die rechte maustaste ist und wissen trotz allem wie man ein Formular überprüft..
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Comment

                  Working...
                  X