Hallo!
Ich bin ein PHP-Halbgebildeter und habe es mir WIRKLICH nicht leicht gemacht, mir an meinem Script die Finger wund probiert, Hilfe-Foren durchforstet und bin nur noch ratlos!
Vielleicht erbarmt sich jemand meiner hier....
Es handelt sich um ein Mailer-Script für meine Internetseite, eines, das auch Anhänge verschickt.
Alles funktioniert so, wie es soll!
Ja: es soll keine Kontrolle geben, ob Name und E-Mail eingegeben wurden.
Alles ist bestens so, wie es ist!
NUR EINES N I C H T:
Nach Abschuss öffnet sich keine Danke-Seite ("danke.html" im gleichen Verzeichnis, alles richtig auf dem Server!)
Auch nicht bei voller URL hinter "Location"!
Nach aller Mini-Kenntnis und allen Foren-Tipps ist im Script alles richtig!
WAS, um Gottes Willen: W A S ist trotzdem noch falsch???
Hier das Script:
<html>
<head>
<title>mailformular</title>
</head>
<body bgcolor="#000000">
<?php
$Empfaenger = "meinemail@gmx.de";
if($_REQUEST['Send'])
{
$Mailbetreff = "Nachricht von Seite X ";
$Mailbetreff .= $_REQUEST['Betreff'];
$Header = "From: ".$_REQUEST['Email'];
$Header .= "\n";
$Header .= "MIME-Version: 1.0";
$Header .= "\n";
$Header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$Header .= "\n\n";
$Header .= "This is a multi-part message in MIME format";
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: text/plain";
$Header .= "Content-Transfer-Encoding: 8bit";
$Header .= "\n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send" && $Formularfeld!="Anhang")
{
$Header .= $Formularfeld.": ".$Wert."\n";
}
}
$Header .= "Datum: ";
$Header .= date("d.m.Y, H:i:s");
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: ";
$Header .= $_FILES['Anhang']['type'];
$Header .= "; name=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n\n";
$Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
$Header .= chunk_split(base64_encode($Dateiinhalt));
mail($Empfaenger, $Mailbetreff, "", $Header);
header("Location: danke.html");
}
?>
<div align="center">
<dt> </dt>
<dt> </dt>
<dt> </dt>
<table width="500" border="0" cellpadding="1" cellspacing="2">
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<tr>
<td align="center" colspan="3" width="504">
<div align="left">
</div>
</td>
</tr>
<tr>
<td align="center" colspan="3" width="504">
</td>
</tr>
<tr>
<td align="center" colspan="3" width="504">
</td>
</tr>
<tr>
<td align="center" colspan="3" width="504">
<font color="#FFFFFF">
<b>Kontaktformular</b></font></td>
</tr>
<tr>
<td align="center" colspan="3" width="504">
</td>
</tr>
<tr>
<td width="200"><font color="#FFFFFF">Name:</font></td>
<td width="300" colspan="2"><font color="#FFFFFF"><input name="Name" style="width:300" type="text" ></font></td>
</tr>
<tr>
<td width="200"><font color="#FFFFFF">eMail:</font></td>
<td width="300" colspan="2"><font color="#FFFFFF"><input name="Email" style="width:300" type="text"></font></td>
</tr>
<tr>
<td width="200"><font color="#FFFFFF">Nachricht:</font></td>
<td width="300" colspan="2"><font color="#FFFFFF"><textarea style="width:300" name="Nachricht" rows="5"></textarea></font></td>
</tr>
<tr>
<td width="200"><font color="#FFFFFF">Anhang:</font></td>
<td width="300" colspan="2"><font color="#FFFFFF"><input name="Anhang" style="width:300" type="file"></font></td>
</tr>
<tr>
<td width="200"></td>
<td width="150"><font color="#FFFFFF"><input name="Send" type="submit" value="Abschicken" style="width:145"> </font></td>
<td width="150">
<p align="right"><font color="#FFFFFF">
<input name="Reset" type="reset" value="Löschen" style="width:144; height:26"></font></td>
</tr>
<tr>
<td align="center" colspan="3" width="504"></td>
</tr>
</form>
</table>
</div>
<?php
Ich bin ein PHP-Halbgebildeter und habe es mir WIRKLICH nicht leicht gemacht, mir an meinem Script die Finger wund probiert, Hilfe-Foren durchforstet und bin nur noch ratlos!
Vielleicht erbarmt sich jemand meiner hier....
Es handelt sich um ein Mailer-Script für meine Internetseite, eines, das auch Anhänge verschickt.
Alles funktioniert so, wie es soll!
Ja: es soll keine Kontrolle geben, ob Name und E-Mail eingegeben wurden.
Alles ist bestens so, wie es ist!
NUR EINES N I C H T:
Nach Abschuss öffnet sich keine Danke-Seite ("danke.html" im gleichen Verzeichnis, alles richtig auf dem Server!)
Auch nicht bei voller URL hinter "Location"!
Nach aller Mini-Kenntnis und allen Foren-Tipps ist im Script alles richtig!
WAS, um Gottes Willen: W A S ist trotzdem noch falsch???
Hier das Script:
<html>
<head>
<title>mailformular</title>
</head>
<body bgcolor="#000000">
<?php
$Empfaenger = "meinemail@gmx.de";
if($_REQUEST['Send'])
{
$Mailbetreff = "Nachricht von Seite X ";
$Mailbetreff .= $_REQUEST['Betreff'];
$Header = "From: ".$_REQUEST['Email'];
$Header .= "\n";
$Header .= "MIME-Version: 1.0";
$Header .= "\n";
$Header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$Header .= "\n\n";
$Header .= "This is a multi-part message in MIME format";
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: text/plain";
$Header .= "Content-Transfer-Encoding: 8bit";
$Header .= "\n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send" && $Formularfeld!="Anhang")
{
$Header .= $Formularfeld.": ".$Wert."\n";
}
}
$Header .= "Datum: ";
$Header .= date("d.m.Y, H:i:s");
$Header .= "\n";
$Header .= "--$Trenner";
$Header .= "\n";
$Header .= "Content-Type: ";
$Header .= $_FILES['Anhang']['type'];
$Header .= "; name=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n";
$Header .= "Content-Transfer-Encoding: base64";
$Header .= "\n";
$Header .= "Content-Disposition: attachment; filename=";
$Header .= $_FILES['Anhang']['name'];
$Header .= "\n\n";
$Dateiinhalt = fread(fopen($_FILES['Anhang']['tmp_name'], "r"), $_FILES['Anhang']['size']);
$Header .= chunk_split(base64_encode($Dateiinhalt));
mail($Empfaenger, $Mailbetreff, "", $Header);
header("Location: danke.html");
}
?>
<div align="center">
<dt> </dt>
<dt> </dt>
<dt> </dt>
<table width="500" border="0" cellpadding="1" cellspacing="2">
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<tr>
<td align="center" colspan="3" width="504">
<div align="left">
</div>
</td>
</tr>
<tr>
<td align="center" colspan="3" width="504">
</td>
</tr>
<tr>
<td align="center" colspan="3" width="504">
</td>
</tr>
<tr>
<td align="center" colspan="3" width="504">
<font color="#FFFFFF">
<b>Kontaktformular</b></font></td>
</tr>
<tr>
<td align="center" colspan="3" width="504">
</td>
</tr>
<tr>
<td width="200"><font color="#FFFFFF">Name:</font></td>
<td width="300" colspan="2"><font color="#FFFFFF"><input name="Name" style="width:300" type="text" ></font></td>
</tr>
<tr>
<td width="200"><font color="#FFFFFF">eMail:</font></td>
<td width="300" colspan="2"><font color="#FFFFFF"><input name="Email" style="width:300" type="text"></font></td>
</tr>
<tr>
<td width="200"><font color="#FFFFFF">Nachricht:</font></td>
<td width="300" colspan="2"><font color="#FFFFFF"><textarea style="width:300" name="Nachricht" rows="5"></textarea></font></td>
</tr>
<tr>
<td width="200"><font color="#FFFFFF">Anhang:</font></td>
<td width="300" colspan="2"><font color="#FFFFFF"><input name="Anhang" style="width:300" type="file"></font></td>
</tr>
<tr>
<td width="200"></td>
<td width="150"><font color="#FFFFFF"><input name="Send" type="submit" value="Abschicken" style="width:145"> </font></td>
<td width="150">
<p align="right"><font color="#FFFFFF">
<input name="Reset" type="reset" value="Löschen" style="width:144; height:26"></font></td>
</tr>
<tr>
<td align="center" colspan="3" width="504"></td>
</tr>
</form>
</table>
</div>
<?php
Kommentar