PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kontaktformular Ausgabe


mestro82x
31.12.2007, 12:00:59
Hallo,

Ich hab ein kleines Problem.

Und zwar nutze ich dieses Script.....

<?php
// *** Deine Mailadresse (Empfänger) ***
$mail_to="steffen";
// *************************************

$from_name=$_POST['fromname'];
$from_mail=strtolower($_POST['frommail']);
$mail_subject=$_POST['mailsubject'];
$mail_text=$_POST['mailtext'];
$mail_text .=$_POST['frommail'];
$mail_text .=$_POST['mailsubject'];
$mail_text .=$_POST['fromname'];
$send=$_POST['s'];

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
if(trim($from_mail)=="")
$err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
else
if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
$err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";

// *** Zu langen Text abschneiden ***
if(strlen($mail_text)>1000) {
$mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);

if(($send=="1") && (isset($err_text))) {
echo "<p><big><b>Fehler:</b></big><br>";
echo "$err_text</p>";
}

if(($send!="1") || (isset($err_text)))
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Name:<br />
<input type="text" name="fromname" size=30 maxlength=120 value="<?php echo $from_name; ?>">
<br />
<br />
Email:<br />
<input type="text" name="frommail" size=30 maxlength=120 value="<?php echo $from_mail; ?>">
<br />
<br />
Betreff:<br />
<input type="text" name="mailsubject" size=30 maxlength=120 value="<?php echo $mail_subject; ?>">
<br />
<br />
Ihre Nachricht:<br />
<textarea cols="20" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea>
<br />
<br />
<input type="hidden" value="1" name="s">
<input type="submit" value="Nachricht versenden" name="submit">
</form>
<?php
} else {
$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.="X-Mailer: PHP-FormMailer (www.kv-garten-mil.de)\n";
$header.="Content-Type: text/plain";
$mail_date=gmdate("D, d M Y H:i:s")." +0000";
$send=0;
if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";
echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}
}
?>

funtioniert auch alles wunderbar.
Nur wie das in der email dann ankommt gefällt mir nicht.

Da steht alles in einer Zeile und durcheinander.

Wie bekomm ich das Formatiert das z.b erst die email adresse dann in der zweiten zeile name 3 zeile betreff und dann der text.

Bitte um Hilfe

Wenn mann sich diese Jahr nicht mehr hört dann mal einen schönen Rutsch
ins neue Jahr.

Habs hier mal in einer Grafik:

Heinrich
31.12.2007, 12:50:39
Dann musst du Zeilenumbrüche rein machen. Dein mehrfaches §mail_text = hängt eben alles hintereinander.

Mit nl2br($mail-text) erhältst du die Zeulenumbrüche, die vorher in der Textarea gemacht wurden.

mestro82x
31.12.2007, 13:42:14
Danke für die schnelle Antwort.

Doch leider bin ich heute nicht auf der Höhe und mit php kenne
ich mich noch nicht so gut aus.

Wo und wie genau muss ich das hinschreiben.

bitte um Beispiel wenn es geht.

Schöne Grüße

mestro82x
03.01.2008, 16:34:19
Hallo,

Schade das ich keine Antwort bekommen habe.
Ich versuch es trotzdem noch einmal.

Also ich hab das vor $mail_text geschrieben.

Dann kommt aber immer diese Meldung wenn ich auf die Seite zugreifen will.

Parse error: parse error, unexpected T_CONCAT_EQUAL

Wäre Dankbar für eine Antwort.

Schöne Grüße

defabricator
03.01.2008, 17:56:18
Naja, ich weiss nicht, wie es anderen geht, die helfen könnten. Aber ich verspüre nur wenig Antrieb, bei einem irgendwie zusammengewürfelten Mail-Skript=Spam-Schleuder mitzuhelfen.
Was willst Du mit dem Skript machen? Was soll es leisten? Wo und wie soll es eingesetzt werden?
Auf der Site, die im Skript vermerkt ist, habe ich nur "Gerne können Sie bereits jetzt mit uns Kontakt aufnehmen." gefunden. Wollt Ihr ein Kontaktformular einbauen statt auf das externe Mailprogramm zu vertrauen? So wie das Skript jetzt ist, erlaubt es jedem an jeden irgendwelche mails zu verschicken. Bessere Alternativen kannst Du bei http://www.hotscripts.com/search?action=formsubmit&q=formmailer&cat=PHP&page=1&license_type=&sort=guest_rating finden.