Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit PHP-Kontaktformular!

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit PHP-Kontaktformular!

    Hallo zusammen,

    habe ein großes Problem mit meinem HTML-Kontaktformular. Dahinter liegt ein PHP-Skript, das diverse Eingaben auf ihre Gültigkeit überprüft und ggf. eine Fehlermeldung ausgibt.

    Ich möchte nun noch, dass je nach Auswahl des Radio-Button die ganzen Eingaben an unterschiedliche Mail-Adressen versand werden und nicht nur an eine vordefinierte!

    Zudem sollte der User bei Auswahl des 2. Radio-Buttons, das dahinter befindliche Options-Menü bzw. die Select-Auswahl auch ausfüllen müssen. Ansonsten soll auch eine Fehlermeldung ausgegeben werden!

    Habe bereits bei Google alles durchforstet, jedoch bis jetzt für diese beiden Problemfälle keine Lösung finden können. Würde mich freuen, wenn mir jemand weiterhelfen könnte.

    Auf folgender Seite ist das Kontaktformular zu sehen: http://web0.loco.datendienste.net/ko...nt_kontakt.php

    Der Quellcode der PHP-Datei:
    Code:
    <?php
    
    ### Konfiguration ###
    
    # Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
    
    # An welche Adresse sollen die Mails gesendet werden?
    $strEmpfaenger = 'Kathagen@gmx.de';
    
    # Welche Adresse soll als Absender angegeben werden?
    # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
    $strFrom       = '"Form-Mailer"';
    
    # Welchen Betreff sollen die Mails erhalten?
    $strSubject    = 'Kontaktanfrage';
    
    # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
    # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
    $strReturnhtml = 'content_danke.htm';
    
    # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
    $strDelimiter  = ": ";
    
    ### Ende Konfiguration ###
    
    if($_POST)
    {
     $strMailtext = "Sehr geehrte Damen und Herren,\n\ndies ist eine automatisch generierte E-Mail. So eben hat ein User auf Ihrer Internetpräsenz eine Kontakt-Anfrage gestellt.\nFolgend ist diese zusammengefasst aufgelistet:\n\n";
    
     while(list($strName,$value) = each($_POST))
     {
      if(is_array($value))
      {
       foreach($value as $value_array)
       {
        $strMailtext .= $strName.$strDelimiter.$value_array."\n";
       }
      }
      else
      {
       $strMailtext .= $strName.$strDelimiter.$value."\n";
      }
     }
    
     if(get_magic_quotes_gpc())
     {
      $strMailtext = stripslashes($strMailtext);
     }
    
     mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
      or die("Die Mail konnte nicht versendet werden.");
     header("Location: $strReturnhtml");
     exit;
    }
    
    ?>
    <html>
    <head>
    <title>Kontaktanfrage</title>
    <link type="text/css" rel="stylesheet" media="screen, projection, tv" href="layout.css"/>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
    <style type="text/css" media="screen, projection">
    
    .kleine-links a:link
    {
    	font-weight: normal;
    	font-family: Tahoma;
    	font-size: 11px;
    	color: #000000;
    }
    .kleine-links a:hover
    {
    	font-weight: bold;
    	font-family: Tahoma;
    	font-size: 11px;
    	color: #0058AA;
    }
    .kleine-links a:active
    {
    	font-weight: bold;
    	font-family: Tahoma;
    	font-size: 11px;
    	color: #0058AA;
    }
    
    .Stil11 a:link
    {
    	font-weight: normal;
    	font-family: Tahoma;
    	font-size: 11px;
    	color: #000000;
    }
    .Stil11 a:hover
    {
    	font-weight: bold;
    	font-family: Tahoma;
    	font-size: 11px;
    	color: #0058AA;
    }
    .Stil11 a:active
    {
    	font-weight: bold;
    	font-family: Tahoma;
    	font-size: 11px;
    	color: #0058AA;
    }
    
    .ClickBox_body
    {
    	border-top:		0px solid #7F7F7F;
    	border-bottom:	0px solid #7F7F7F;
    	border-left:	0px solid #7F7F7F;
    	border-right:	0px solid #7F7F7F;
    	
    }
    .ClickBox_body-headline
    {
    	background-color:	#0058AA;
    }
    .ClickBox_body-content
    {
    	border-top:	0px solid #0058AA;
    
    	background-color:	#b2cde5;
    }
    .ClickBox_body-content2
    {
    	border-top:	0px solid #CDDEEE;
    
    	background-color:	#ccdeee;
    }
    
    
    .button a:hover {
                  color:#cc0000;
                  background-color:#ccc;
    }
    body {
    	background-color: #dcdcdc;
    }
    a {
    	font-family: Tahoma;
    	font-size: 11px;
    	color: #000000;
    }
    a:link {
    	text-decoration: none;
    }
    a:visited {
    	text-decoration: none;
    	color: #000000;
    }
    a:hover {
    	text-decoration: none;
    }
    a:active {
    	text-decoration: none;
    }
    .Stil5 {font-size: 11px}
    </style>
    <Script language="JavaScript">
     <!--
    
     function plausibel()
     {
    
    
    
        var Fehlermeldung = "";
    
        if (document.kontakt.organisation.value == "")
          Fehlermeldung = Fehlermeldung + "Organisation fehlt!\n";
    
        if (document.kontakt.ansprechpartner.value == "")
          Fehlermeldung = Fehlermeldung + "Ansprechpartner fehlt!\n";
    
        if (document.kontakt.telefon.value == "")
          Fehlermeldung = Fehlermeldung + "Telefon fehlt!\n";
    
        if (document.kontakt.kontaktart[0].checked == true)
        ;
    
        else if (document.kontakt.kontaktart[1].checked == true)
        ;
    
        else if (document.kontakt.kontaktart[2].checked == true)
        ;
    
       else
       {
        Fehlermeldung = Fehlermeldung + "Kontaktart ist nicht bestimmt!\n";
        }
    
        if (document.kontakt.mail.value == "")
          Fehlermeldung = Fehlermeldung + "E-Mail fehlt!\n";
        else
        {
         pos = document.kontakt.mail.value.indexOf("@");
    
        switch(pos)
        {
          case -1:
          Fehlermeldung = Fehlermeldung + "@ in E-Mail vergessen!";
       break;
    
       case 0:
       Fehlermeldung = Fehlermeldung + "Überprüfen Sie Ihre E-Mail-Adresse!";
       break;
    
       default:
       if (pos == document.kontakt.mail.value.length-1)
       Fehlermeldung = Fehlermeldung + "Überprüfen Sie Ihre E-Mail-Adresse!";
       else
       if (document.kontakt.mail.value.lastIndexOf("@") !=pos)
       Fehlermeldung = Fehlermeldung + "Mehr als ein @ bei E-Mail!";
    
       break;
    
      }
    
        }
        if (Fehlermeldung != "")
        {
           alert(Fehlermeldung);
        return false;
        }
        else
           return true;
    
       }
    
     //-->
    
     </script>
    </head>
    
    <body topmargin="0" leftmargin="0">
           <table width="778" height="100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td width="636" valign="top" class="Stil5"><table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">
                <tr>
                  <td width="6" height="100%" bgcolor="#dcdcdc"></td>
                  <td width="630" height="100%" valign="top" style="padding-top:5px; padding-right:10px" bgcolor="#dcdcdc"><span style="font-size:16px; face:Tahoma">Kontakt
                        </marquee>
                  </span>
                    <p align="justify" class="Stil5">Bitte  teilen Sie uns Ihr Anliegen mit, was Sie von unseren Produkten, unserer  Organisation, sowie von unserer Website und Serviceangeboten halten. Bitte  sagen Sie uns auch, wie wir Sie erreichen k&ouml;nnen, falls wir Fragen haben.
    
                    
    
                    1.1 Kommentar:
    				
    
                    <table border="0">
    				<tr>
    				<td valign="top"><Form method="post" action="<?php print $_SERVER['PHP_SELF']; ?>" onSubmit="return plausibel();" Name="kontakt">
    
    				<input name="kontaktart" type="radio" value="Meinung" style="border:none"></td>
    				<td valign="top"><textarea name="kommentar zur meinung" cols="35" rows="6"></textarea></td>
    				</tr>
    				</table>
    				<span class="Stil5">
    
    				1.2 Ich  interessiere mich f&uuml;r die folgenden Produkte und Dienstleistungen.
    
    				Bitte  informieren Sie mich ausf&uuml;hrlich dar&uuml;ber.
    				
                    
    
                    </span>
    				<table border="0">
    				<tr>
    				<td valign="top" class="Stil5">
    				  <input name="kontaktart" type="radio" value="Informationsbedarf" style="border:none">				</td>
    				<td valign="top" class="Stil5">
    				  <table width="100%" border="0" cellpadding="0" cellspacing="0">
    			  <tr>
    				<td><select name="wünscht informationen über">
    					<option selected value="nicht ausgewählt">- Bitte eine Kategorie ausw&auml;hlen -</option>
    					<option  value="Allgemeine Informationen">Allgemeine Informationen</option>
    					<option value="GS 1000">GS 1000</option>
    					<option value="QSN 750">QSN 750</option>
    					<option value="QSG 750">QSG 750</option>
    					<option value="Automation">Automation</option>
    					<option value="Teamworks">Teamworks</option>
    					<option value="Serviceangebote">Serviceangebote</option>
    					</select>				</td>
    			  </tr>
    			</table>				</td>
    				</tr>
    				</table>
    
                    <span class="Stil5">1.3 Ich nutze  ein Produkt und w&uuml;nsche Hilfestellung bzw. Service.
    				
                    
    
                    </span>
                    <table border="0">
    				<tr>
    				<td valign="top" class="Stil5">
    				  <input name="kontaktart" type="radio" value="Hilfestellung" style="border:none">				</td>
    				<td valign="top" class="Stil5">
    				  <textarea name="kommentar zur hilfestellung" cols="35" rows="6"></textarea>				</td>
    				</tr>
    				</table>
                    <span class="Stil5">
    
                    2. Ihre pers&ouml;nlichen Angaben: 
    
                    
    
                    </span>
    				<table border="0">
    				<tr>
    				<td width="15px"></td>
    				<td>
                    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    		  <tr>
    			<td class="Stil5" style="padding-bottom:3px">Organisation * </td>
    		  </tr>
    		  <tr>
    			<td class="Stil5">
    			  <input name="organisation" type="text" size="40"/ style="border-color:7f9db9">
    			  
    </td>
    		  </tr>
    		  <tr>
    			<td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Ansprechpartner *[/b]</td>
    		  </tr>
    		  <tr>
    			<td class="Stil5">
    			  <input name="ansprechpartner" type="text" size="40"/ style="border-color:7f9db9">
    			  
    </td>
    		  </tr>
    		  <tr>
    			<td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Position[/b]</td>
    		  </tr>
    		  <tr>
    			<td class="Stil5">
    			  <input name="position" type="text" size="40"/ style="border-color:7f9db9">
    			  
    </td>
    		  </tr>
    		  <tr>
    			<td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Stra&szlig;e[/b]</td>
    		  </tr>
    		  <tr>
    			<td class="Stil5">
    			  <input name="strasse" type="text" size="40"/ style="border-color:7f9db9">
    			  
    </td>
    		  </tr>
    		  <tr>
    			<td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">PLZ/Ort[/b]</td>
    		  </tr>
    		  <tr>
    			<td class="Stil5">
    			  <input name="plz/ort" type="text" size="40"/ style="border-color:7f9db9">
    			  
    </td>
    		  </tr>
    		   <tr>
    			<td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Telefon * [/b]</td>
    		  </tr>
    		  <tr>
    			<td class="Stil5">
    			  <input name="telefon" type="text" size="40"/ style="border-color:7f9db9">
    			  
    </td>
    		  </tr> <tr>
    			<td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Fax[/b]</td>
    		  </tr>
    		  <tr>
    			<td class="Stil5">
    			  <input name="fax" type="text" size="40"/ style="border-color:7f9db9">
    			  
    </td>
    		  </tr> <tr>
    			<td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">E-Mail * [/b]</td>
    		  </tr>
    		  <tr>
    			<td class="Stil5">
    			  <input name="mail" type="text" size="40"/ style="border-color:7f9db9"></td>
    		  </tr>
    		  </table>
    		        <span class="Stil5">
    
    		        (*) Eingabe erforderlich
    
    <Input Type="submit" Value="Abschicken" style="border:1px solid #7f9db9">
    <Input name="Zur&uuml;cksetzen" Type="reset" style="border:1px solid #7f9db9" Value="Eintr&auml;ge l&ouml;schen">
    </form>
                </p>
            
    				
                    </p>                
                    </p>              
                    </span></td>
                </tr></table></td></tr></table>
    <td width="1" height="446" align="right" valign="top" style="padding-top:3px" bgcolor="#dcdcdc"></td>
      </tr>
      </table>
    </body>
    </html>

  • #2
    Hast Du Ahnung von PHP oder gar nicht?

    1. Kannst mit nem Array lösen indem die E-Mail Adressen sind.
    2. Kannst mit nem include lösen, dass erscheint wenn der Punkt ausgewählt wurde und danach wird erst die E-Mail versendet.

    Dein Code hab ich mir jetzt nich angeschaut, da dass viel zu viel ist. Hau doch bitte mal nur den relevanten Code hier rein...

    Kommentar


    • #3
      wozu der ganze Code?

      Kommentar


      • #4
        Danke für die Hilfe.

        Hallo Djork,

        dank dir für deine Hilfe. Ich habe leider nur sehr wenig ahnung von php. Ich kann es halbwegs verstehen, allerdings nicht selber programmieren.
        Ich habe jetzt mal nur den wichtigen Quellcode unten aufgeführt. Wenn du mir vielleicht noch einmal den Quellcode, den ich für die beiden Funktionen einsetzen muss, posten könntest, wäre ich dir sehr dankbar.

        Gruß Nils

        <?php

        ### Konfiguration ###

        # Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

        # An welche Adresse sollen die Mails gesendet werden?
        $strEmpfaenger = 'Kathagen@gmx.de';

        # Welche Adresse soll als Absender angegeben werden?
        # (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
        $strFrom = '"Form-Mailer"';

        # Welchen Betreff sollen die Mails erhalten?
        $strSubject = 'Kontaktanfrage';

        # Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
        # Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
        $strReturnhtml = 'content_danke.htm';

        # Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
        $strDelimiter = ": ";

        ### Ende Konfiguration ###

        if($_POST)
        {
        $strMailtext = "Sehr geehrte Damen und Herren,\n\ndies ist eine automatisch generierte E-Mail. So eben hat ein User auf Ihrer Internetpräsenz eine Kontakt-Anfrage gestellt.\nFolgend ist diese zusammengefasst aufgelistet:\n\n";

        while(list($strName,$value) = each($_POST))
        {
        if(is_array($value))
        {
        foreach($value as $value_array)
        {
        $strMailtext .= $strName.$strDelimiter.$value_array."\n";
        }
        }
        else
        {
        $strMailtext .= $strName.$strDelimiter.$value."\n";
        }
        }

        if(get_magic_quotes_gpc())
        {
        $strMailtext = stripslashes($strMailtext);
        }

        mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
        or die("Die Mail konnte nicht versendet werden.");
        header("Location: $strReturnhtml");
        exit;
        }

        ?>

        Kommentar


        • #5
          Noch etwas Code vergessen!

          Code:
          <Script language="JavaScript"> 
           <!-- 
          
           function plausibel() 
           { 
          
          
          
              var Fehlermeldung = ""; 
          
              if (document.kontakt.organisation.value == "") 
                Fehlermeldung = Fehlermeldung + "Organisation fehlt!\n"; 
          
              if (document.kontakt.ansprechpartner.value == "") 
                Fehlermeldung = Fehlermeldung + "Ansprechpartner fehlt!\n"; 
          
              if (document.kontakt.telefon.value == "") 
                Fehlermeldung = Fehlermeldung + "Telefon fehlt!\n"; 
          
              if (document.kontakt.kontaktart[0].checked == true) 
              ; 
          
              else if (document.kontakt.kontaktart[1].checked == true) 
              ; 
          
              else if (document.kontakt.kontaktart[2].checked == true) 
              ; 
          
             else 
             { 
              Fehlermeldung = Fehlermeldung + "Kontaktart ist nicht bestimmt!\n"; 
              } 
          
              if (document.kontakt.mail.value == "") 
                Fehlermeldung = Fehlermeldung + "E-Mail fehlt!\n"; 
              else 
              { 
               pos = document.kontakt.mail.value.indexOf("@"); 
          
              switch(pos) 
              { 
                case -1: 
                Fehlermeldung = Fehlermeldung + "@ in E-Mail vergessen!"; 
             break; 
          
             case 0: 
             Fehlermeldung = Fehlermeldung + "Überprüfen Sie Ihre E-Mail-Adresse!"; 
             break; 
          
             default: 
             if (pos == document.kontakt.mail.value.length-1) 
             Fehlermeldung = Fehlermeldung + "Überprüfen Sie Ihre E-Mail-Adresse!"; 
             else 
             if (document.kontakt.mail.value.lastIndexOf("@") !=pos) 
             Fehlermeldung = Fehlermeldung + "Mehr als ein @ bei E-Mail!"; 
          
             break; 
          
            } 
          
              } 
              if (Fehlermeldung != "") 
              { 
                 alert(Fehlermeldung); 
              return false; 
              } 
              else 
                 return true; 
          
             } 
          
           //--> 
          
           </script>
          
          "><Form method="post" action="<?php print $_SERVER['PHP_SELF']; ?>" onSubmit="return plausibel();" Name="kontakt"> 
          
                      <input name="kontaktart" type="radio" value="Meinung" style="border:none"></td> 
                      <td valign="top"><textarea name="kommentar zur meinung" cols="35" rows="6"></textarea></td> 
                      </tr> 
                      </table> 
                      <span class="Stil5">
           
                      1.2 Ich  interessiere mich f&uuml;r die folgenden Produkte und Dienstleistungen.
           
                      Bitte  informieren Sie mich ausf&uuml;hrlich dar&uuml;ber.
                       
                          
           
                          </span> 
                      <table border="0"> 
                      <tr> 
                      <td valign="top" class="Stil5"> 
                        <input name="kontaktart" type="radio" value="Informationsbedarf" style="border:none">            </td> 
                      <td valign="top" class="Stil5"> 
                        <table width="100%" border="0" cellpadding="0" cellspacing="0"> 
                     <tr> 
                      <td><select name="wünscht informationen über"> 
                         <option selected value="nicht ausgewählt">- Bitte eine Kategorie ausw&auml;hlen -</option> 
                         <option  value="Allgemeine Informationen">Allgemeine Informationen</option> 
                         <option value="GS 1000">GS 1000</option> 
                         <option value="QSN 750">QSN 750</option> 
                         <option value="QSG 750">QSG 750</option> 
                         <option value="Automation">Automation</option> 
                         <option value="Teamworks">Teamworks</option> 
                         <option value="Serviceangebote">Serviceangebote</option> 
                         </select>            </td> 
                     </tr> 
                   </table>            </td> 
                      </tr> 
                      </table>
           
                          <span class="Stil5">1.3 Ich nutze  ein Produkt und w&uuml;nsche Hilfestellung bzw. Service.
                       
                          
           
                          </span> 
                          <table border="0"> 
                      <tr> 
                      <td valign="top" class="Stil5"> 
                        <input name="kontaktart" type="radio" value="Hilfestellung" style="border:none">            </td> 
                      <td valign="top" class="Stil5"> 
                        <textarea name="kommentar zur hilfestellung" cols="35" rows="6"></textarea>            </td> 
                      </tr> 
                      </table> 
                          <span class="Stil5">
           
                          2. Ihre pers&ouml;nlichen Angaben: 
           
                          
           
                          </span> 
                      <table border="0"> 
                      <tr> 
                      <td width="15px"></td> 
                      <td> 
                          <table width="100%" border="0" cellpadding="0" cellspacing="0"> 
                  <tr> 
                   <td class="Stil5" style="padding-bottom:3px">Organisation * </td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5"> 
                     <input name="organisation" type="text" size="40"/ style="border-color:7f9db9"> 
                     
          </td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Ansprechpartner *[/b]</td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5"> 
                     <input name="ansprechpartner" type="text" size="40"/ style="border-color:7f9db9"> 
                     
          </td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Position[/b]</td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5"> 
                     <input name="position" type="text" size="40"/ style="border-color:7f9db9"> 
                     
          </td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Stra&szlig;e[/b]</td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5"> 
                     <input name="strasse" type="text" size="40"/ style="border-color:7f9db9"> 
                     
          </td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">PLZ/Ort[/b]</td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5"> 
                     <input name="plz/ort" type="text" size="40"/ style="border-color:7f9db9"> 
                     
          </td> 
                  </tr> 
                   <tr> 
                   <td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Telefon * [/b]</td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5"> 
                     <input name="telefon" type="text" size="40"/ style="border-color:7f9db9"> 
                     
          </td> 
                  </tr> <tr> 
                   <td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">Fax[/b]</td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5"> 
                     <input name="fax" type="text" size="40"/ style="border-color:7f9db9"> 
                     
          </td> 
                  </tr> <tr> 
                   <td class="Stil5" style="padding-bottom:3px"><strong class="subHeadline">E-Mail * [/b]</td> 
                  </tr> 
                  <tr> 
                   <td class="Stil5"> 
                     <input name="mail" type="text" size="40"/ style="border-color:7f9db9"></td> 
                  </tr> 
                  </table> 
                        <span class="Stil5">
           
                        (*) Eingabe erforderlich
          
          <Input Type="submit" Value="Abschicken" style="border:1px solid #7f9db9"> 
          <Input name="Zur&uuml;cksetzen" Type="reset" style="border:1px solid #7f9db9" Value="Eintr&auml;ge l&ouml;schen"> 
          </form>

          Kommentar

          Lädt...
          X