Hello,
es hätte genügt, wenn Du diese beiden Abschnitte gepostet hättest.
Ich finde den "Formmailer grausam, will aber mal versuchen zu erläutern, was da geschieht.
<?php
Hier werden Variablen für das Script festgelegt; hast Du ja auch schon bemerkt
$strEmpfaenger = 'info@studiumwahl.de';
$strSubject = 'Feedback';
$strReturnhtml = 'http://www.teamworxx.com/STUDYNET/PL/index-pl.html';
$strDelimiter = ":\t";
Als Trennzeichen wird ein Tabulator benutzt
Das soll sicherlich bedeuten, dass dieser Mailer nur tätig wird, wenn das Formular per POST abgesendet wurde. Das ist aber leider nicht so. Da die Superglobalen Arrays $_POST und $_GET in JEDEM Script zur Verfügung stehen, egal wie es aufgerufen wurde, sorgt dieses Script für die "Selbstbespammung" mit leeren Mails...
if($_POST)
besser Daten und sSteuerdne Elemente getrennt halten und überhaupt
danach fragen, ob sie übermittelt wurden. Das geschieht dann wirklich
nur bei einem POST-Request
if (isset($_POST['btn']['absenden']) and isset($_POST['data']))
{
Eine leere Variable für die Aufnahme des Mailtextes wird vorbereitet
$strMailtext = "";
alle ÜBERMITTELTEN Wertepaare aus $_POST abholen
# while(list($strName,$value) = each($_POST))
foreach($_POST['data'] as $key => $value)
{
der ansatzweise Versuch von Rekursion...
wenn $value selber ein Array ist
if(is_array($value))
{
foreach($value as $subvalue)
{
die dann vermeintlich nicht mehr als Array vorliegenden Werte in
der Variable Mailtext sammeln
$strMailtext .= $key.$strDelimiter.$subvalue."\n";
}
}
else
{
wenn es keine Subarray waren, auch in der Variable für den mailtext sammeln
$strMailtext .= $key.$strDelimiter.$value."\n";
}
}
wenn der Mechanismus "Magic Quotes" (bitte im PHP-Manual nachlesen)
eingeschaltet ist, die Maskierungen wieder entfernen
if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}
Die enail absenden
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}?>
In Deinem Formular fehlen nun freilich die Eingabefelder, die im obigen Script so universell aufgelesen werden sollten
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<p align="center"><input type="text" name="E-Mail" /></dd>
<p><input type="text" name="data[Anliegen]" size="45" /></p>
<p><textarea nane="data[Mitteilung]" rows="10" cols="45"></texarea></p>
<p align="center">
<input type="submit" name="btn[absenden]" value="Absenden" />
<input type="reset" value="Hoppla" />
</p>
</form>
Ich habe es nicht ausprobiert, aber so sollte es funktionieren.
Das Formular solltest Du noch um "Vornamwe, Name", "Telefon" und "email" ergänzen, denn sowas wird gerne vergessen anzugeben von den Schreibern.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)
