Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
manolo2006
Threadersteller
Dabei seit: 19.06.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 19.06.2007 16:13
Titel Formmailer funktioniert mit Internet Explorer nicht. |
|
|
Hallo zusammen,
ich habe eine Kontaktformular (Formmailer) auf meiner Seite. Dieses funktioniert wunderbar in Safari und Firefox - leider nicht im Internet Explorer. Es wäre nett, wenn ihr mir helfen könnt.
Quellcode der Seite mit Formular:
<form action="ersteseite.php" method="post">
<tr>
<td width="90" valign="top" class="font"><font face="Verdana, Arial, Helvetica, sans-serif">kontakfreudig</font><font face="Verdana, Arial, Helvetica, sans-serif">.</font></td>
<td> </td>
</tr>
<tr>
<td height="30" class="font"><font face="Verdana, Arial, Helvetica, sans-serif">Name / Firma: </font></td>
<td><input name="Name" size="25" type="text"></td>
</tr>
<tr>
<td height="30" class="font"><font face="Verdana, Arial, Helvetica, sans-serif">Telefon:</font></td>
<td><input name="Telefon" size="25" type="text"></td>
</tr>
<tr>
<td height="30" class="font"><font face="Verdana, Arial, Helvetica, sans-serif">E-Mail:</font></td>
<td><input name="Email" size="25" type="text"></td>
</tr>
<tr>
<td height="30" class="font"><font face="Verdana, Arial, Helvetica, sans-serif">Nachricht:</font></td>
<td class="Stil1"><input name="Nachricht" size="25" type="text"></td>
</tr>
<tr>
<td height="30" class="font"><font face="Verdana, Arial, Helvetica, sans-serif">Newsletter:</font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif">
<input name="Newsletter" type="checkbox" value="ja" checked style="background-color: #8c8c8c; height:15px; width:15px">
</font></td>
</tr>
<tr>
<td align="right" colspan="2"><table width="100" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right" class="font"><font face="Verdana, Arial, Helvetica, sans-serif">Absenden</font></td>
<td align="right">
<input name="Send" type="image" value="Abschicken" src="Bilder/vorwaerts.jpg" align="right" width="18" height="19">
</td>
</tr>
</table></td>
</tr>
</form>
Die Auswertung auf der zweiten Seite:
<?php
$Empfaenger = "ich@muster.de";
if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
{
}
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Kontaktformular/Newsletter";
$Mailbetreff .= $_REQUEST['Betreff'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
}
}
else
{
}
?>
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Di 19.06.2007 16:54
Titel
|
|
|
Zitat: | Dieses funktioniert wunderbar in Safari und Firefox - leider nicht im Internet Explorer. |
Was heißt das?
Was bedeutet "funktioniert nicht"?
Das ist keine brauchbare Fehlerbeschreibung.
Da deine Seite in zwei Browsern läuft und in einem nicht, kann es sich nur um ein clientseitiges Problem handeln.
Das heißt, dein PHP-Code interessiert nicht.
Von Bedeutung ist nur der HTML-Code.
Du hast aber nur den halben HTML-Code gepostet.
Wäre sinnvoll, wenn du mal das vollständige Dokument zeigen würdest...
Aber davon abgesehen, springen mir schon eine ganze Reihe an Fehlern ins Auge.
Ich wundere mich überhaupt, daß es im Firefox und im Safari funktioniert.
Dein Formular hat überhaupt keinen Submit-Button. Wie in aller Welt wird das Ding denn überhaupt abgeschickt?
Hier ist zwar ein Button vorhanden, der scheinbar als Submit-Button zum Einsatz kommen soll, aber es ist halt kein Submit-Button:
Code: | <input name="Send" type="image" value="Abschicken" src="Bilder/vorwaerts.jpg" align="right" width="18" height="19"> |
Du brauchst einen <input type="submit"> oder einen <button type="submit">.
Andernfalls besteht nur die Möglichkeit, das Formular mit Hilfe von JavaScript und einem Eventhandler abzuschicken.
Damit wäre dein Formular dann aber unbrauchbar für alle Leute, die kein JS nutzen bzw. nutzen können.
Dann solltest du statt $_REQUEST überall $_POST einsetzen.
Andernfalls wäre es möglich, deinem Script Daten unterzuschummeln, indem man diese per URL übergibt.
Außerdem solltest du die Möglichkeit nutzen, der Mailfunktion noch zusätzliche Header zu übergeben.
Du solltest zumindest die verwendete Zeichenkodierung mitangeben, damit Umlaute und Sonderzeichen auch in jedem Fall richtig dargestellt werden.
Und dann ist dein Script überhaupt nicht gesichert.
Das kann man also mal wieder ruckzuck in eine Spamschleuder verwandeln.
Dein Hoster wird sich freuen, wenn über dein Formular mal eben Zigtausend Spammails verschickt wurden...
Ein Angriff per E-Mail-Injektion ist möglich.
Mailheader werden durch Zeilenumbrüche voneinander getrennt. Darauf mußt du prüfen und die Daten ggf. filtern.
Du mußt sicherstellen, daß es nicht möglich ist, der Mailfunktion ungewünschte Mailheader zu übergeben.
|
|
|
|
|
Anzeige
|
|
|
june1782
Dabei seit: 26.06.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 26.06.2007 23:59
Titel
|
|
|
Wundert mich nicht firefox erduldet so manches...
ich denke sogar wenn du ein table tag unterhalb des form tags vergeben würdest könnte es laufen...
thema email injection hat mein vorredner ja schon intensiv behandelt
|
|
|
|
|
manolo2006
Threadersteller
Dabei seit: 19.06.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 27.06.2007 10:40
Titel
|
|
|
Soweit so gut - Vielen Dank.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Joomla funktioniert nicht mit Internet Explorer
JAVASCRIPT Funktioniert nicht wie im Internet Explorer
PHP Formmailer, funktioniert in Opera, nicht im IE
CSS im Internet Explorer
[CSS] 2 Klassen im Internet Explorer
Problem mit dem Internet Explorer
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|