[PHP] Kontaktformular fuktioniert nicht

Dieses Thema im Forum "Webentwicklung" wurde erstellt von crix, 21. November 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. November 2008
    Kontaktformular fuktioniert nicht

    Hallo liebe RR-Community,

    habe hier ein Kontaktformular, doch leider fuktioniert dort nichts.. ich bekomme keine Mail.. die fehlende Felder werden auch nicht angezeigt. Und die Weiterleitung funktioniert auch nicht. (die ok.html sollte auch in "_self" angezeigt werden, also im Frame wie das Kontaktformular. Weiß leider nicht wie ich das einstelle)
    Hoffe ihr könnt mir helfen..

    Hier der Code:
    PHP:
    <? php 
        
    if(isset( $_POST [ 'ueberpruefung' ]))  
      {  
      
    $allesok  1 ;  
       
     if(empty(
    $_POST [ 'name' ])){ 
      
    $allesok  0 ;  
      
    $error [ name ] =  "Bitte einen Namen eingeben!" ;}  

         if(empty(
    $_POST [ 'vorname' ])){ 
      
    $allesok  0 ;  
      
    $error [ vorname ] =  "Bitte einen Vornamen eingeben!" ;}
      
      if(empty(
    $_POST [ 'email' ])){ 
      
    $allesok  0 ;  
      
    $error [ email ] =  "Bitte eine Emailadresse eingeben!" ;}  

      if(empty(
    $_POST [ 'strasse' ])){ 
      
    $allesok  0 ;  
      
    $error [ strasse ] =  "Bitte eine Straße und Hausnummer eingeben!" ;}
      
        if(empty(
    $_POST [ 'ort' ])){ 
      
    $allesok  0 ;  
      
    $error [ ort ] =  "Bitte PLZ und Ort eingeben!" ;}
      
        if(empty(
    $_POST [ 'nachricht' ])){ 
      
    $allesok  0 ;  
      
    $error [ nachricht ] =  "Bitte eine Nachricht eingeben!" ;}
        
      } 
       
      if(
    $allesok ){  
       

    // Empfänger
    $empfaenger  .=  'info@domain.de' ;

    // Betreff
    $betreff  'Kontaktformular' ;

    // Nachricht
    $nachricht  '
    <html>
    <head>
      <title>Kontaktformular</title>
      <style type="text/css">
    <!--
    .Stil2 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
    }
    .Stil22 {font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #FF0000; }
    -->
    </style>
    </head>
    <body>
      <p class="Stil2">Vorname : '
    . $_POST [ 'vorname' ]. ' <br>
      Nachname : '
    . $_POST [ 'nachname' ]. ' <br> 
      Straße: '
    . $_POST [ 'strasse' ]. ' <br> 
      Stadt: '
    . $_POST [ 'ort' ]. ' <br> 
      Telefon: '
    . $_POST [ 'telefon' ]. ' <br> 
      Erreichbar: '
    . $_POST [ 'erreichbar' ]. ' <br> 
      Fax: '
    . $_POST [ 'fax' ]. ' <br>
      Mobil: '
    . $_POST [ 'mobil' ]. ' <br>  
      Email: '
    . $_POST [ 'email' ]. ' <br> 
      Nachricht: '
    . $_POST [ 'nachricht' ]. '</p>
    </body>
    </html>
    '
    ;

    // für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
    $header   'MIME-Version: 1.0'  "\r\n" ;
    $header  .=  'Content-type: text/html; charset=iso-8859-1'  "\r\n" ;

    // zusätzliche Header
    $header  .=  'To: Kontakt <info@domain.de>'  "\r\n" ;
    $header  .=  'From: ' . $_POST [ 'vorname' ]. ' ' . $_POST [ 'name' ]. ' <' . $_POST [ 'email' ]. '>'  "\r\n" ;


    // verschicke die E-Mail
    mail ( $empfaenger $betreff $nachricht $header );

        
    mail ( $empfaenger $betreff $nachricht , $header ) or die( "Es ist ein Error aufgetreten, bitte versuchen sie es erneut." );
        
    header ( "Location: http://www.domain.de/ok.html" );
        exit;  

      } 
       
      else 
      { 
      
    ?> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    <style type="text/css">
    <!--
    body {
        background-image: url(bgul);
        background-repeat: no-repeat;
        margin-bottom: 0px;
    }
    .Stil2 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
    }
    -->
    </style>
    </head>

    <body>
    <p class="Stil2"><img src="kontakth.png" width="80" height="16" /></p>
    <p class="Stil2">Bei Fragen wenden sie sich bitte an<br>
      <img src="kontakt.png" width="395" height="120" border="0" usemap="#Map" />
      <map name="Map" id="Map">
        <area shape="rect" coords="46,70,138,82" href="mailto:info@domain.de" />
      </map>
    </p>
    <p class="Stil2">oder senden Sie schnell und einfach Ihre Anfrage mit diesem Kontaktformular</p>
    <form action="<?php  echo  $_SERVER [ 'PHP_SELF' ] ?>" method="post" target="_self">
            <div class="infotext"><br></div>
            <table border="0" cellpadding="0" cellspacing="5">
                <tr>
                    <td><span class="Stil2">Vorname: *</span></td>

                  <td><input name="vorname" type="text" value="<?php  echo  $_POST [ 'vorname' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'vorname' ]; ?></span></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Nachname: *</span></td>
                  <td><input name="nachname" type="text" value="<?php  echo  $_POST [ 'nachname' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'nachname' ]; ?></span></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Stra&szlig;e / Hausnr.: *</span></td>

                  <td><input name="strasse" type="text" value="<?php  echo  $_POST [ 'strasse' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'strasse' ]; ?></span></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">PLZ / Ort: *</span></td>
                  <td><input name="ort" type="text" value="<?php  echo  $_POST [ 'ort' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'ort' ]; ?></span></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Telefon:</span></td>
                  <td><input name="tel" type="text" value="<?php  echo  $_POST [ 'tel' ]; ?>" size="50" maxlength="50"/></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Erreichbar (Datum/Zeit):</span></td>
                  <td><input name="erreichbar" type="text" value="<?php  echo  $_POST [ 'erreichbar' ]; ?>" size="50" maxlength="255"/></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Fax:</span></td>
                  <td><input name="fax" type="text" value="<?php  echo  $_POST [ 'fax' ]; ?>" size="50" maxlength="50"/></td>
              </tr>    
                <tr>

                    <td><span class="Stil2">Mobil:</span></td>
                  <td><input name="mobil" type="text" value="<?php  echo  $_POST [ 'mobil' ]; ?>" size="50" maxlength="50"/></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">E-Mail: *</span></td>
                  <td><input name="email" type="text" value="<?php  echo  $_POST [ 'email' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'email' ]; ?></span></td>
              </tr>                    
                <tr>
                    <td valign="top"><span class="Stil2">Ihr Anliegen: *</span></td>

                    <td><span class="Stil2">
                      <textarea name="nachricht" cols="38" rows="6"><?php  echo  $_POST [ 'nachricht' ]; ?></textarea>
    <?php  echo  $error [ 'nachricht' ]; ?>
                  </span></td>
              </tr>    

                <tr>
                    <td>&nbsp;</td>
                    <td><div align="right">
                      <input type="submit" name="Submit" value="Absenden" />
                    </div></td>
                </tr>
            </table>
    </form>
    <p class="Stil2">&nbsp;</p>
    <p class="Stil2">Vielen Dank.</p>
    <?php 

      

      
    ?>  
      </body>
    </html>
    Danke schonmal für jede Hilfe!!

    gruss
     
  2. 21. November 2008
    AW: Kontaktformular fuktioniert nicht

    XSS lässt grüßen

    Du benutzt 2mal den mail-Code.

    Und unter welchen Umständen soll
    PHP:
    if(isset( $_POST [ 'ueberpruefung' ]))
    jemals stimmen, wenn es kein Feld mit dem Namen innerhalb deines Formulars gibt?
     
  3. 21. November 2008
    AW: Kontaktformular fuktioniert nicht

    oh gott.. und was muss ich daran ändern? :-/
     
  4. 22. November 2008
    AW: Kontaktformular fuktioniert nicht


    Oh.. hab das Feld vergessen..
    Habe es eingefügt. Funktioniert aber immer noch nicht..

    PHP:
    <? php 
        
    if(isset( $_POST [ 'ueberpruefung' ]))  
      {  
      
    $allesok  1 ;  
       
     if(empty(
    $_POST [ 'name' ])){ 
      
    $allesok  0 ;  
      
    $error [ name ] =  "Bitte einen Namen eingeben!" ;}  

         if(empty(
    $_POST [ 'vorname' ])){ 
      
    $allesok  0 ;  
      
    $error [ vorname ] =  "Bitte einen Vornamen eingeben!" ;}
      
      if(empty(
    $_POST [ 'email' ])){ 
      
    $allesok  0 ;  
      
    $error [ email ] =  "Bitte eine Emailadresse eingeben!" ;}  

      if(empty(
    $_POST [ 'strasse' ])){ 
      
    $allesok  0 ;  
      
    $error [ strasse ] =  "Bitte eine Straße und Hausnummer eingeben!" ;}
      
        if(empty(
    $_POST [ 'ort' ])){ 
      
    $allesok  0 ;  
      
    $error [ ort ] =  "Bitte PLZ und Ort eingeben!" ;}
      
        if(empty(
    $_POST [ 'nachricht' ])){ 
      
    $allesok  0 ;  
      
    $error [ nachricht ] =  "Bitte eine Nachricht eingeben!" ;}
        
      } 
       
      if(
    $allesok ){  
       

    // Empfänger
    $empfaenger  .=  'info@domain.de' ;

    // Betreff
    $betreff  'Kontaktformular' ;

    // Nachricht
    $nachricht  '
    <html>
    <head>
      <title>Kontaktformular</title>
      <style type="text/css">
    <!--
    .Stil2 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
    }
    .Stil22 {font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #FF0000; }
    -->
    </style>
    </head>
    <body>
      <p class="Stil2">Vorname : '
    . $_POST [ 'vorname' ]. ' <br>
      Nachname : '
    . $_POST [ 'nachname' ]. ' <br> 
      Straße: '
    . $_POST [ 'strasse' ]. ' <br> 
      Stadt: '
    . $_POST [ 'ort' ]. ' <br> 
      Telefon: '
    . $_POST [ 'telefon' ]. ' <br> 
      Erreichbar: '
    . $_POST [ 'erreichbar' ]. ' <br> 
      Fax: '
    . $_POST [ 'fax' ]. ' <br>
      Mobil: '
    . $_POST [ 'mobil' ]. ' <br>  
      Email: '
    . $_POST [ 'email' ]. ' <br> 
      Nachricht: '
    . $_POST [ 'nachricht' ]. '</p>
    </body>
    </html>
    '
    ;

    // für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
    $header   'MIME-Version: 1.0'  "\r\n" ;
    $header  .=  'Content-type: text/html; charset=iso-8859-1'  "\r\n" ;

    // zusätzliche Header
    $header  .=  'To: Kontakt <info@domain.de>'  "\r\n" ;
    $header  .=  'From: ' . $_POST [ 'vorname' ]. ' ' . $_POST [ 'name' ]. ' <' . $_POST [ 'email' ]. '>'  "\r\n" ;


    // verschicke die E-Mail
    mail ( $empfaenger $betreff $nachricht $header );

        
    mail ( $empfaenger $betreff $nachricht , $header ) or die( "Es ist ein Error aufgetreten, bitte versuchen sie es erneut." );
        
    header ( "Location: http://www.domain.de/ok.html" );
        exit;  

      } 
       
      else 
      { 
      
    ?> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    <style type="text/css">
    <!--
    body {
        background-image: url(bgul);
        background-repeat: no-repeat;
        margin-bottom: 0px;
    }
    .Stil2 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
    }
    -->
    </style>
    </head>

    <body>
    <p class="Stil2"><img src="kontakth.png" width="80" height="16" /></p>
    <p class="Stil2">Bei Fragen wenden sie sich bitte an<br>
      <img src="kontakt.png" width="395" height="120" border="0" usemap="#Map" />
      <map name="Map" id="Map">
        <area shape="rect" coords="46,70,138,82" href="mailto:info@domain.de" />
      </map>
    </p>
    <p class="Stil2">oder senden Sie schnell und einfach Ihre Anfrage mit diesem Kontaktformular</p>
    <form action="<?php  echo  $_SERVER [ 'PHP_SELF' ] ?>" method="post" target="_self">
            <div class="infotext"><br></div>
            <table border="0" cellpadding="0" cellspacing="5">
                <tr>
                    <td><span class="Stil2">Vorname: *</span></td>

                  <td><input name="vorname" type="text" value="<?php  echo  $_POST [ 'vorname' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'vorname' ]; ?></span></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Nachname: *</span></td>
                  <td><input name="nachname" type="text" value="<?php  echo  $_POST [ 'nachname' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'nachname' ]; ?></span></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Stra&szlig;e / Hausnr.: *</span></td>

                  <td><input name="strasse" type="text" value="<?php  echo  $_POST [ 'strasse' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'strasse' ]; ?></span></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">PLZ / Ort: *</span></td>
                  <td><input name="ort" type="text" value="<?php  echo  $_POST [ 'ort' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'ort' ]; ?></span></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Telefon:</span></td>
                  <td><input name="tel" type="text" value="<?php  echo  $_POST [ 'tel' ]; ?>" size="50" maxlength="50"/></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Erreichbar (Datum/Zeit):</span></td>
                  <td><input name="erreichbar" type="text" value="<?php  echo  $_POST [ 'erreichbar' ]; ?>" size="50" maxlength="255"/></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">Fax:</span></td>
                  <td><input name="fax" type="text" value="<?php  echo  $_POST [ 'fax' ]; ?>" size="50" maxlength="50"/></td>
              </tr>    
                <tr>

                    <td><span class="Stil2">Mobil:</span></td>
                  <td><input name="mobil" type="text" value="<?php  echo  $_POST [ 'mobil' ]; ?>" size="50" maxlength="50"/></td>
              </tr>    
                <tr>
                    <td><span class="Stil2">E-Mail: *</span></td>
                  <td><input name="email" type="text" value="<?php  echo  $_POST [ 'email' ]; ?>" size="50" maxlength="50"/><span class="Stil22"><?php  echo  $error [ 'email' ]; ?></span></td>
              </tr>                    
                <tr>
                    <td valign="top"><span class="Stil2">Ihr Anliegen: *</span></td>

                    <td><span class="Stil2">
                      <textarea name="nachricht" cols="38" rows="6"><?php  echo  $_POST [ 'nachricht' ]; ?></textarea>
    <?php  echo  $error [ 'nachricht' ]; ?>
                  </span><input type="hidden" name="ueberpruefung" value="1"></td>
              </tr>    

                <tr>
                    <td>&nbsp;</td>
                    <td><div align="right">
                      <input type="submit" name="Submit" value="Absenden" />
                    </div></td>
                </tr>
            </table>
    </form>
    <p class="Stil2">&nbsp;</p>
    <p class="Stil2">Vielen Dank.</p>
    <?php 

      

      
    ?>  
      </body>
    </html>
     
  5. 22. November 2008
    AW: Kontaktformular fuktioniert nicht

    [url]http://de.wikipedia.org/wiki/Cross-Site_Scripting[/url] (aka XSS)

    Du hast immernoch 2mal den mail-Befehl im PHPCode.

    Füge mal ganz oben in deinen Code folgenden PHP-Befehl hinzu:
    PHP:
    error_reporting ( E_ALL );
    Dann sehen wir vielleicht, woran dein Script scheitert.
     
  6. 22. November 2008
    AW: Kontaktformular fuktioniert nicht

    Da tut sich garnix.. Wenn ich auf Abschicken passiert nix.. garnichts.. Die Felder bleiben gefüllt.. aber es tut sich nichts..

    in meinem error log steht das..

    Code:
    [Sat Nov 22 12:18:45 2008] [warn] mod_fcgid: stderr: PHP Notice: Undefined index: vorname in /var/www/webXX/html/XXX.com/test/kontakt-frame.php on line 130
    [Sat Nov 22 12:18:45 2008] [warn] mod_fcgid: stderr: PHP Notice: Undefined index: nachname in /var/www/webXX/html/XXX.com/test/kontakt-frame.php on line 135
    [Sat Nov 22 12:18:45 2008] [warn] mod_fcgid: stderr: PHP Notice: Undefined index: strasse in /var/www/webXX/html/XXX.com/test/kontakt-frame.php on line 141
    [Sat Nov 22 12:18:45 2008] [warn] mod_fcgid: stderr: PHP Notice: Undefined index: ort in /var/www/webXX/html/XXX.com/test/kontakt-frame.php on line 146
    [Sat Nov 22 12:18:45 2008] [warn] mod_fcgid: stderr: PHP Notice: Undefined index: email in /var/www/webXX/html/XXX.com/test/kontakt-frame.php on line 168
    [Sat Nov 22 12:18:45 2008] [warn] mod_fcgid: stderr: PHP Notice: Undefined index: nachricht in /var/www/webXX/html/XXX.com/test/kontakt-frame.php on line 175
    aber die Error-Ausgabe, also dass ein Feld nicht aufgefüllt ist funktioniert einwandfrei..
     
  7. 22. November 2008
    AW: Kontaktformular fuktioniert nicht

    PHP:
    if(empty( $_POST [ 'name' ])){ 
    Dabei heißt das Feld "nachname"
     
  8. 22. November 2008
    AW: Kontaktformular fuktioniert nicht

    PHP:
    error_reporting ( E_ALL | E_STRICT );
     
  9. 22. November 2008
    AW: Kontaktformular fuktioniert nicht

    ich danke dir!!! da wäre ich nie drauf gekommen..

    noch eine frage, da ichs grad nicht testen kann..
    die datei befindet sich ja in einem frame.

    was muss ich machen dass die bestätigung, also ok.html im selben frame angezeigt wird. oder wird sie dort schon angezeigt.. wie gesagt, kanns gerade nicht testen..

    danke schonmal.. bw haste auf jeden fall
     
  10. 22. November 2008
    AW: Kontaktformular fuktioniert nicht

    Eigentlich musst du nichts machen. Links o.ä. bleiben alle im selben Frame.
     
  11. 22. November 2008
    AW: Kontaktformular fuktioniert nicht

    außer du hast irgendwo ein target stehen
     
  12. 22. November 2008
    AW: Kontaktformular fuktioniert nicht

    steht ja nirgends danke
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.