Hallo, guten Morgen,
ich möchte auf einer HP ein Kontaktformular einbauen, diese HP läuft über Web.de, und lt. diesem wird php4 und php5 unterstützt - es sollte also funktionieren.
Doch leider erhalte ich die Fehlermeldung Error404.
Der Code sieht folgendermassen aus:
<?php
### Konfiguration Feedback-Formular###
$strEmpfaenger = 'termin@....de';
$strSubject = 'Feedback über www.....de';
$strReturnhtml = 'http://www....de/kontakt_2.html';
$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
Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>....</title>
</head>
<body>
...
...
<h2>Kontaktformular</h2>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<table id="tableLi" style="margin-left:50px;">
<tr>
<td>Name:</td>
<td><input type="text" name="Absender" /></td>
</tr>
<tr>
<td>Telefon:</td>
<td><input type="text" name="Telefon" /></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="E-Mail" /></td>
</tr>
<tr>
<td colspan="2" align="left" valign="middle">
<b>Grund des Terminwunsches</b><br>
<input name="box1[]" type="checkbox"> Box 1 *<br>
<input name="box2[]" type="checkbox"> Box 2 *<br>
<input name="box3[]" type="checkbox"> Box 3 *<br>
<input name="Sonstiges[]" type="checkbox"> Sonstiges (bitte unten näher erläutern)
</td>
</tr>
<tr>
<td colspan="2">Bemerkungen:</td>
</tr>
<tr>
<td colspan="2">
<textarea name="Bemerkungen" rows="10" cols="50">Bemerkungen</textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Senden" />
<input type="reset" value="Zurücksetzen" />
</td>
</tr>
<tr>
<td colspan="2" style="font-size:11px">
Text
</td>
</tr>
</table>
</form>
...
Beim erstellen der Datei habe ich mich an SelfHtml orientiert (
aktuell.de.selfhtml.org/artikel/php/form-mail/)
Noch ein Problem ist, dass die Seite optisch nicht korrekt dargestellt wird, liegt das daran, dass das php ganz am Anfang steht ??
Aber lt. SelfHtml muss es so sein:
Vor dem Aufruf der Funktion header() darf das Script nichts ausgegeben haben ..., weil ansonsten ein Fehler erzeugt wird. Das bedeutet auch, dass vor dem PHP-Code kein HTML-Code sowie keine Leerzeichen und Leerzeilen stehen dürfen. <?php muss also direkt am Dateianfang stehen.
Kann mir jemand sagen warum es nicht funktioniert ???
Vielen Dank und viele Grüße
Petra