hubertus: PHP-Formmail - kleines Problem

Beitrag lesen

Hallo!

Bitte wer kann mir bei meinem Formular-Problem helfen?

  1. Über Formularfelder meiner HTML-Seite übergebe ich per
    "Submit" folgende Variablen an ein PHP-Script:
    Nachnahme, Vorname, Land, Plz, Ort, Strasse, Zimmer, Telefon, und E-mail-Adresse.

  2. Ich möchte im nachfolgenden PHP-Script dann, die Variablen: Land, Plz, Ort und Strasse als eine Variable zusammenfassen - als eine Zeile "Adresse:". (Die Variablen sind auf der HTML-Seite absichtlich extra und nicht als Adresszeile zusammengefasst, damit nicht jeder irgendwie die Adresse in ein Textfeld reintippt). Rauskommen soll über PHP aus den einzelnen Variablen dann z.B. Adresse: D-47443 Moers, Talstrasse 11.

  3. Ich möchte im PHP-Script vor den Formulardaten ein paar Textzeilen hinzufügen und Zeilenabstände einfügen.

Bitte wie muss ich das nachstehende Script ändern, ohne dass es (eventuell angreifbar für Spammer wird. Wer kann einem PHP-Einsteiger wie mir, rasch unter die Arme greifen? Also 3-4 Variablen zusammenfügen als Eine und zusätzliche Zeilen in PHP einbauen mit dem vorhandenen Script.

Vielen Dank!

<?php

Konfiguration

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

An welche Adresse sollen die Mails gesendet werden?

$strEmpfaenger = 'xxxxxxxxxxxxxxx.xxxxxxxx';

Welche Adresse soll als Absender angegeben werden?

(Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)

$strFrom       = '"Formmailer" <xxxxxxxxxxxxxxxxxxx>';

Welchen Betreff sollen die Mails erhalten?

#$strSubject    = 'Online-Formular';
$strSubject = $_POST["Betreff"];

Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?

Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!

$strReturnhtml = 'xxxxxxxxxxxxxxxxxxxxxxxxxx';

Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?

$strDelimiter  = ":\t";

Ende Konfiguration

if($_POST)
{
 $strMailtext = "";

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 Nachricht konnte nicht uebermittelt werden!");
 header("Location: $strReturnhtml");
 exit;
}

?>