Autor |
Nachricht |
Jimmy_Blitz
Threadersteller
Dabei seit: 11.04.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 11.04.2006 22:50
Titel PHP Formmailer, funktioniert in Opera, nicht im IE |
|
|
Hi,
habe einen Formmailer erstellt, welcher zwar mit Opera wunderbar funktioniert,
aber mit dem Internet Explorer nicht.
Es scheint sich irgenwo ein kleiner Fehler eingeschlichen zu haben...
Ich sehe aber grad den Wald vor lauter Bäumen nicht und weiss nicht weiter.
Wäre nett, wenn einer von Euch mir einen Tip geben könnte.
Das Script:
-form.php Code: | <form method="POST" action="send.php" onSubmit="return chkFormular()" enctype="text/plain" name="Formular" OnReset="return ResetCheck()">
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="100" rowspan="8"></td>
<td width="75" align="left" class="text">Vorname:</td>
<td width="250" colspan="2">
<input type="text" name="vorname" class="textfeld1" maxlength="50" title="Tragen Sie hier Ihren Vorname ein"></td>
<td width="155" rowspan="8"></td>
</tr>
<tr>
<td align="left" class="text">Nachname:</td>
<td colspan="2"><input type="text" name="nachname" class="textfeld1" maxlength="50" title="Tragen Sie hier Ihren Nachname ein"></td>
</tr>
<tr>
<td align="left" class="text">Strasse:</td>
<td colspan="2"><input type="text" name="strasse" class="textfeld1" maxlength="50" title="Tragen Sie hier Ihre Strasse ein"></td>
</tr>
<tr>
<td align="left" class="text">Postleitzahl:</td>
<td colspan="2"><input type="text" name="plz" class="textfeld1" maxlength="50" title="Tragen Sie hier Ihre Postleitzahl ein"></td>
</tr>
<tr>
<td align="left" class="text">Wohnort:</td>
<td colspan="2"><input type="text" name="ort" class="textfeld1" maxlength="50" title="Tragen Sie hier Ihren Wohnort ein"></td>
</tr>
<tr>
<td align="left" class="text" valign="top">Nachricht:</td>
<td colspan="2"><textarea type="text" name="nachricht" class="textfeld1" rows="10"></textarea></td>
</tr>
<tr>
<td align="left" class="text">E-Mail:</td>
<td colspan="2"><input type="text" name="mail" class="textfeld1" maxlength="50" title="Hier tragen Sie Ihre E-Mail Adresse ein."></td>
</tr>
<tr>
<td align="left" class="text"></td>
<td colspan="2"><input type="reset" name="Zurücksetzen" value="löschen" class="button"> <input type="submit" name="senden" value="senden" class="button"></td>
</tr>
<tr>
<td><img src="../images/space.gif" width="1" height="20" alt="blank"></td>
</tr>
</table>
</form> |
-send.php Code: | <?php include ("config.php");
echo("$titel\n");
?>
<?php include ("config.php");
mail($an,$betreff,$text,"From: ".$mail);
echo("<p>Ihre Nachricht wurde erfolgreich an $an gesendet!</p><p></p>\n\n");
if ($dankesmail=="1")
{
mail($mail,$best_betreff,$inhalt,"From: ".$an);
echo "<p>Sie erhalten noch eine Bestätigungsmail!</p><p></p>\n\n";
}
else
{
echo "";
}
echo("<p><a href=\"javascript:history.back()\">Zurück zur vorherigen Seite</a></p>\n\n");
?> |
-config.php Code: | <?php
$webmaster ="xxx";
$an ="xxx@xxx.de";
$url ="http://www.xxx.de";
$dankesmail ="1";
$inhalt ="Hallo $vorname,\n\nvielen Dank für Deinen Besuch.\n\nWir haben folgende Nachricht erhalten:\n\n-----------------------------------------------------------\n$nachricht\n-----------------------------------------------------------\n\nWir werden in Kürze auf Deine Nachricht antworten.\n\nViele Grüße & hoffentlich bis bald,\n$webmaster\n\n-----------------------------------------------------------\n$url";
$best_betreff ="xxx";
$betreff ="xxx";
$cssfile ="xxx.css";
$datum=date("d.m.Y");
$uhrzeit=date("H:i:s");
$text ="\n-----------------------------------------------------------\nDatum...........: $datum, $uhrzeit\n-----------------------------------------------------------\nAbsender........: $vorname $nachname\nStrasse.........: $strasse\nWohnort.........: $plz $ort\n-----------------------------------------------------------\nEmail...........: $mail\n-----------------------------------------------------------\nNachricht.......: $nachricht\n-----------------------------------------------------------";
?> |
Das ist schon alles.
Ich wäre extrem dankbar, wenn mir jemand verraten könnte, wo der Hase im Pfeffer liegt.
Wie gesagt, mit Opera phantastisch, bei IE werden die Variablen nicht weitergegeben in der Feedback-Mail an den Webmaster und es wird keine Kopie an die Kontaktperson versand.
[edit]
Keine Eyecatcher im Titel verwenden.
Titel geändert
Zuletzt bearbeitet von tacker am Mi 12.04.2006 10:38, insgesamt 1-mal bearbeitet
|
|
|
|
|
beeviZ
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 11.04.2006 23:09
Titel
|
|
|
dann hat der ie was falsches im cache oder so. aber bei serverseitigen scripten kanns in der regel nich am browser liegen ob ne kopie an irgend nen empfänger geschickt wird oder nich.
|
|
|
|
|
Anzeige
|
|
|
Jimmy_Blitz
Threadersteller
Dabei seit: 11.04.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 11.04.2006 23:11
Titel
|
|
|
Danke, dem werde ich mal nachgehen.
EDIT: Cache geleert. Daran lag es nicht...
Aber Script sieht fehlerfrei aus, oder?
Zuletzt bearbeitet von Jimmy_Blitz am Di 11.04.2006 23:17, insgesamt 2-mal bearbeitet
|
|
|
|
|
Falk Wussow
Dabei seit: 13.12.2005
Ort: Wiesbaden
Alter: -
Geschlecht:
|
Verfasst Mi 12.04.2006 00:50
Titel
|
|
|
liegt's vielleicht an dem javascript im formular? wie sieht denn z.b. die funktion "chkFormular()" aus? vielleicht wird ja das formular abgesendet, obwohl javascript eigentlich zurück will..?
|
|
|
|
|
Jimmy_Blitz
Threadersteller
Dabei seit: 11.04.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 12.04.2006 09:05
Titel
|
|
|
Javascript sieht so aus:
Code: | <!--
function ResetCheck()
{
pruef=window.confirm("Sind Sie sicher, dass Sie die Eingaben verwerfen wollen?");
return pruef;
}
function chkFormular()
{
if(document.Formular.vorname.value == "")
{
alert("Bitte geben Sie Ihren Vornamen ein!");
document.Formular.vorname.focus();
return false;
}
if(document.Formular.nachname.value == "")
{
alert("Bitte geben Sie Ihren Nachnamen ein!");
document.Formular.nachname.focus();
return false;
}
if(document.Formular.nachricht.value == "")
{
alert("Bitte geben Sie ihre Nachricht ein!");
document.Formular.nachricht.focus();
return false;
}
if(document.Formular.mail.value == "")
{
alert("Bitte geben Sie Ihre E-Mail-Adresse ein!");
document.Formular.mail.focus();
return false;
}
if(document.Formular.mail.value.indexOf('@') == -1)
{
alert("Keine gueltige E-Mail-Adresse!");
document.Formular.mail.focus();
return false;
}
}
//--> |
Ach, ich weiss auch nicht mehr weiter, ist sicher nur eine Kleinigkeit...
Scheiss IE!
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Do 13.04.2006 10:12
Titel
|
|
|
Zitat: | ei serverseitigen scripten kanns in der regel nich am browser liegen |
was heißt "in der regel"? es kann nie am browser liegen.
darum ist das ganze hier auch kein php-problem, sondern es muß am html- oder js-code liegen.
Zitat: |
Du übernimmst einfach ungeprüft Variablen aus dem Request in den Header
der versandte E-Mail.
Das ist ein verdammt großes Sicherheitsloch. |
hmm... und es bringt auch nichts, wenn die richtigkeit der eingaben mit javascript geprüft wird. das ist eine nette sache, um den user auf falsche eingaben hinzuweisen. aber in KEINEM fall, kann das die serverseitige prüfung der daten ersetzen. das mußt du in jedem fall noch tun.
ansonsten ist es einfach nur fahrlässig, wie dein script gebaut ist. solche scripte werden immer wieder gerne zum spammen mißbraucht.
und sicherlich macht dich der provider dafür haftbar, wenn es dein schlechtprogrammiertes script war, was dafür benutzt wurde, millionenfach spammails über den server zu schicken... ;o)
Zuletzt bearbeitet von rob am Do 13.04.2006 10:12, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Formmailer funktioniert mit Internet Explorer nicht.
CSS aktive Navi funktioniert nur in Opera
Warum funktioniert mein Javascript nicht im Opera?
Formmailer
php formmailer
Frage zu Formmailer
|
|