Problem mit einem Formmailer
plastique
- php
Morgen zusammen,
ich bastel derzeit an meiner Homepage und wollte ein Kontaktformular mithilfe eines Formmailers erstellen.
Das ganze sollte wie ein normaler Formmailer ablaufen, Formular wird ausgefüllt, es wird auf Senden geklickt und man kommt auf eine Dankeseite. Klappt auch soweit, zumindest im FireFox, aber der frisst ja eh fast alles *g.
Im Internet Explorer/Opera lädt lediglich die Kontaktseite neu und es wird auch keine Mail verschickt.
---------------------------------------------------------------------
Der Formmailer:
<?php
### Konfiguration ###
# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'florian.brzoska@web.de';
# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom = '"plastique" <florian.brzoska@web.de>';
# Welchen Betreff sollen die Mails erhalten?
$strSubject = 'Neue Nachricht';
# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://plastikkind.de/danke.html';
# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter = ": ";
### 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;
}
?>
------------------------------------------------------------------------
Die HTML-Seite:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta name="plastique" content="">
<title>plastique '//, Kontakt</title>
<link rel="stylesheet" type="text/css" href="css/layout.css">
<!-- das JavaScript -->
<script type="text/javascript" language="JavaScript">
<!--
// www.web-toolbox.net W. Jansen
var zufallszahl01;
var zufallszahl02;
function Schreiben01() {
var now = new Date();
var sec = now.getSeconds();
var min = now.getMinutes();
zufallszahl01 = sec % 10;
zufallszahl01 +=1;
zufallszahl02 = (min + sec) % 10;
zufallszahl02 +=1;
document.write("Captcha: " + zufallszahl01 + " + " + zufallszahl02 + " = ");
}
function Fragen01() {
document.write('<input class="kurz" type="text" id="antwort01" maxlength="3" value="">');
return
}
function Kontrolle01() {
var Ergebnis01 = zufallszahl01 + zufallszahl02;
var Eintrag01 = document.getElementById("antwort01").value;
if(Ergebnis01 != Eintrag01)
{
alert("CAPTCHA-Eintrag nicht korrekt!");
document.getElementById("antwort01").value = "";
document.getElementById("antwort01").focus();
return false;
}
}
//-->
</script>
</head>
<body>
<div id="seite">
<div id="menu">
<ul><a href="index.html">Startseite</a></ul>
<ul><a href="plastique.html">plastique</a></ul>
<ul><a href="art.html">Art</a></ul>
<ul><a href="need.html">Need me?</a></ul>
<ul id="aktiv"><a href="kontakt.html">Kontakt</a></ul>
<ul><a href="impressum.html">Impressum</a></ul>
</div> <!-- menu -->
<div id="header">
<div id="bread">You are here: <a href="kontakt.html">Kontakt</a> | Hier könnt Ihr mir eine Nachricht schreiben oder Feedback hinterlassen</div>
</div> <!-- header -->
<div id="content">
<h1>Kontakt</h1>
<div class="right_img">
<img src="img/kontakt.png" width="250" height="188">
</div>
<p class="grun">plastique</p>
<br>
<p>Florian Brzoska</p>
<p>Fußhain 8</p>
<br>
<p>61197 Florstadt</p>
<br>
<br>
<p class="icq">404713752</p>
<p class="msn">iDark_Soul@hotmail.de</p>
<p class="skype">plastiqueoo</p>
<br><br>
<h2>Kontaktformular</h2>
<div id="formular">
<form onSubmit="return Kontrolle01();" "action="http://plastikkind.de/kontakt.php" method="post">
<div class="name">Vorname:<input class="textfeld" type="text" name="Vorname" value=""></div>
<div class="name">Nachname:<input class="textfeld" type="text" name="Nachname" value=""></div>
<div class="name">Tel.:<input class="textfeld" type="text" name="Tel" value=""></div>
<div class="name">E-Mail:<input class="textfeld" type="text" name="E-Mail" value=""></div>
<div class="name">Homepage:<input class="textfeld" type="text" name="Homepage" value=""></div>
<br>
<div class="name">Nachricht:<textarea class="nachricht" name="Nachricht"></textarea></div>
<div id="captcha">
<script type="text/javascript" language="JavaScript">
<!--
Schreiben01()
//-->
</script>
<script type="text/javascript" language="JavaScript">
<!--
Fragen01()
//-->
</script>
</div>
<br><br>
<div class="reset">
<button name="Löschen" value="Löschen" type="reset">
<img src="layout/reset.png" alt="Ändern">
</button>
</div>
<div class="submit">
<button name="Abschicken" value="Abschicken" type="submit">
<img src="layout/submit.png" alt="Ändern">
</button>
</form>
</div>
<br>
<br>
<br>
</form>
</div>
</div> <!-- content -->
</div> <!-- seite -->
<div id="footer">
<p class="footer">© <a href="index.html">plastique</a></p>
</div> <!-- footer -->
</body>
</html>
Ich habe das Script aus dem Internet, da ich leider nicht wirklich bei php durchsteige =/ und hoffe das ich hier Hilfe finde.
Das ganze findet Ihr auch nochmal hier: http://plastikkind.de/kontakt.html
Vielen Dank im vor raus =)
da ich leider nicht wirklich bei php durchsteige =/ und hoffe das ich hier Hilfe finde.
1. PHP läuft auf dem Server. Was sagt das darüber aus, wenn etwas abhängig vom verwendeten Browser passiert?
2. Mache Kontrollausgaben der an php gesendeten Daten um den Fehler einzugrenzen.
- PHP läuft auf dem Server. Was sagt das darüber aus, wenn etwas abhängig vom verwendeten Browser passiert?
- Mache Kontrollausgaben der an php gesendeten Daten um den Fehler einzugrenzen.
Das hilft mir grad nicht wirklich weiter, da ich wie schon erwähnt, bei php noch nicht so ganz durch steige. Und ich dachte, da es im FF geht, das irgendwo im Script bzw. im Formular der Fehler liegt.
Wie kann ich diese Kontrollausgaben machen?
Hallo plastique,
Das hilft mir grad nicht wirklich weiter, da ich wie schon erwähnt, bei php noch nicht so ganz durch steige. Und ich dachte, da es im FF geht, das irgendwo im Script bzw. im Formular der Fehler liegt.
Wenn du PHP einsetzt, ohne zu verstehen, was da passiert, ist dies immer ein Risiko. Was wäre, wenn du ein Skript runterlädst und einsetzt, welches dann dem Herausgeber erlauben würde darüber SPAM zu versenden, weil du die Hintertür nicht erkennst!? Ich denke, du musst dich so oder so damit beschäftigen. Mit echo kannst du Kontrollausgaben einbauen. Diese würde ich immer einbauen, wenn Variablen verwendet werden um zu sehen, ob diese den Inhalt haben, den du glaubst. (Variablen beginnen immer mit $)
Ich vermute allerdings, dass die Seite gar nicht neu geladen wird im IE, sondern schon mit dem Javascript nicht klarkommt.
ciao
romy
Danke für den Tipp mit dem echo =)
Und ich habe den Fehler rausgefunden, es lag am Formular. Ich habe beim
<form action="http://plastikkind.de/kontakt.php" method="post" onSubmit="return Kontrolle01();">
ein " vor dem action gehabt *g
Trotzdem Danke =)