Problem bei PHP-Kontaktformular

radschu

Grünschnabel
Seawas,

ich hab ein Problem mit meinem PHP-Kontaktformular:

PHP:
<?php

$Empfaenger = "blabla@pre.suf";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Telefonnummer']) || empty($_REQUEST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Folgende Nachricht wurde Ihnen übermittelt: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum, Zeit: ";
      $Mailnachricht .= date("d.m.Y, H:i");
      $Mailbetreff = "Kontakt";
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: Kontaktformular");

      echo"Vielen Dank für Ihre Nachricht! Sie werden in 3 Sekunden weitergeleitet. <br>
      Drücken Sie <a href=\"javascript:history.back();\">hier</a>, falls Ihr Browser kein automatisches Weiterleiten unterstützt.";;
   }
}
?>
</body>
</html>

Folgende E-Mail erhalte ich nun:

Name: asd
Telefonnummer: asd
Email: asd
Nachricht: asd
__utmz: 110713301.1198918825.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
__utma: 110713301.1963553549.1198918825.1199212752.1199300267.13
__utmb: 110713301.1
__utmc: 110713301.1

Datum, Zeit: 02.01.2008, 20:02



Das:
__utmz: 110713301.1198918825.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
__utma: 110713301.1963553549.1198918825.1199212752.1199300267.13
__utmb: 110713301.1
__utmc: 110713301.1

stört mich doch ungemein ^^ ist das von meinem Provider abhängig oder hab ich falschen code oder was kann ich machen, dass diese Zeilen nichtmehr in der E-Mail auftauchen. und falls nicht was bedeuten die Zeilen? Bin für jede Hilfe dankbar.
 
Hallo,

ich würde eher darauf tippen das es von deinem $_REQUEST kommt. Nimm bei einem Formular immer $_POST und dann überprüf die Angaben auch immer.
 
Hallo,

ich würde eher darauf tippen das es von deinem $_REQUEST kommt. Nimm bei einem Formular immer $_POST und dann überprüf die Angaben auch immer.

Dem kann ich nur zustimmen. $_REQUEST sind die Variablen, die dem Skript über die GET-, POST- und COOKIE-Eingabemechanismen geliefert werden. Und "__utmz:", "__utma:", "__utmb:", "__utmc: " sind höchstwahrscheinlich Cookies, die du dank deiner gut durchdachten Schleife
PHP:
while(list($Formularfeld, $Wert)=each($_REQUEST))...
mitschickst.
Einfach $_REQUEST durch $_POST ersetzen und schluss ist mit den Cookies in den generierten E-Mails.

Nebenbei: Dein Skript sieht aus wie Kraut und Rüben.
PHP:
<?php
$Empfaenger = "blabla@pre.suf";

if($_POST['Send']){ //Schön, multilinguale Namen (Send -> Telefonnummer; Nachricht) :D
  if(empty($_POST['Name']) || empty($_POST['Email']) || empty($_POST['Telefonnummer']) || empty($_POST['Nachricht'])){
    echo("Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!");
  }else{
    $Mailnachricht = "Folgende Nachricht wurde Ihnen übermittelt: \n\n";
    while(list($Formularfeld, $Wert) = each($_POST)){
      if($Formularfeld != "Send"){
        $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
      }
    }
    $Mailnachricht .= "\nDatum, Zeit: ";
    $Mailnachricht .= date("d.m.Y, H:i");
    $Mailbetreff = "Kontakt";
    mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: Kontaktformular");

    echo("Vielen Dank für Ihre Nachricht! Sie werden in 3 Sekunden weitergeleitet. <br>".
         "Drücken Sie <a href=\"javascript:history.back();\">hier</a>, falls Ihr Browser kein automatisches Weiterleiten unterstützt.");
  }
}
?>
 

Neue Beiträge

Zurück