Hallo, ich bin seit 1 Woche dabei ein Formular zu machen für meine Homepage, was mich zum verzweifeln bringt. Da ich kein PHP/JS kann versuche ich mich durch bereits fertige Codes zu schlängeln, diese einigermaßen zu verstehen und abzuändern. Allerdings scheint irgendetwas nicht mit der Syntax zu stimmen da ich ein String error in Zeile 121 bekomme, hier einmal der Code, es sind sicherlich noch andere Fehler drin hilfe wäre toll:
PHP-Code:
<head>
<script type="text/javascript">
// Kontaktformular vor dem absenden überprüfen
var fehlerfarbe = "#FFFFDD";
function check() {
if (document.getElementsByTagName("input").length < 1) {return false;}
else if (document.Form.name.value == "") {document.Form.name.style.backgroundColor=fehlerfarbe; document.Form.name.focus(); return false;}
else if (document.Form.mailfrom.value == "") {document.Form.mailfrom.style.backgroundColor=fehlerfarbe; document.Form.mailfrom.focus(); return false;}
else if (document.Form.zip.value == "") {document.Form.zip.style.backgroundColor=fehlerfarbe; document.Form.zip.focus(); return false;}
else return true;
}
function check2(ziel) {
if (ziel.value == "") {
ziel.style.backgroundColor=fehlerfarbe;
}
else {
ziel.style.backgroundColor="#FFFFFF";
}
}
</script>
</head>
<body>
<article id="textbox">
<?php
//E-Mail-Adresse
$mailto = "support@meinepage.de";
//Link zur Startseite nach dem absenden
$url = "http://www.meinepage.de";
// Fortgeschrittene Anwender können ab hier Änderungen vornehmen.
error_reporting(0);
$eingabefehler = ""; // Bitte leer lassen!
$name = isset($_POST["name"]) ? $_POST["name"] : "";
$mailfrom = isset($_POST["mailfrom"]) ? $_POST["mailfrom"] : "";
$text = isset($_POST["text"]) ? $_POST["text"] : "";
// Spamschutz: Rechenaufgabe
$zufallszahl1 = mt_rand(1, 90);
$zufallszahl2 = mt_rand(1, 9);
$ergebnis = md5($zufallszahl1 + $zufallszahl2);
$code = "&#" . (48 + $zufallszahl2) . ";";
// Formular erstellen
$formular = "<form name='Form' action='" . $_SERVER["SCRIPT_NAME"] . "' method='post' onsubmit='return check();'>
<table class="kontakttable">
<tr>
<td>Name</td>
<td><input name="name" type="text" size="40" maxlength="30" value="" . $name . "' id="Name"></td>
</tr>
<tr>
<td>E-Mail</td>
<td><input name="email" type="text" size="40" maxlength="40" value="" . $mailfrom . "' id="Email"></td>
</tr>
<tr>
<td>Text</td>
<td><textarea name="text" cols="70" rows="8" value="" . $text . "' id="Text"></textarea></td>
</tr>
<tr>
<td>
<label for='Spamschutz'>Spamschutz: <span class='pflichtfeld'>*</span></label> <em>" . $zufallszahl1 . " + " . $code . "</em> =
<input type='text' name='zip' size='3' id='Spamschutz'><input type='hidden' name='zip2' value='" . $ergebnis . "'> <small>(Rechenaufgabe lösen)</small>
</td>
</tr>
<tr>
<td></td>
<td><input class="submit" type="submit" value="Absenden" name='sendung' title='Formular absenden'/></td>
</tr>
</table>
</form>
if (isset($_POST["sendung_x"])) {
// Pflichtfelder überprüfen
if (strlen($name) <= 2) $eingabefehler .= "• Name fehlt!<br/>";
if (!preg_match("/^([_a-z0-9-äöüß])(([-_a-z0-9-äöüß._])*([_a-z0-9-äöüß]))*\@([_a-z0-9-äöüß])(([_a-z0-9-äöüß-])*([_a-z0-9-äöüß]))+(\.([_a-z0-9-äöüß])([-a-z0-9_-])?([_a-z0-9-äöüß])+)+$/i", $mailfrom)) {
$eingabefehler .= "• Fehler in der E-Mail-Adresse!<br/>";
}
if (md5($_POST["zip"]) != $_POST["zip2"]) $eingabefehler .= "• Der Spamschutz ist leider falsch!<br/>";
if ($eingabefehler == "") {
// Diese Nachricht wird an Ihre E-Mail-Adresse gesendet (\n = neue Zeile)
$datum = date("d.m.Y H:i");
$host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
$text = "
Datum: $datum \n
====
Name: $name \n
E-Mail: $mailfrom \n
Text: $text \n
====";
// E-Mail versenden
@mail($mailto, $betreff, $text, "From: " . $mailfrom);
// Bestätigung der E-Mail
echo "<p class='hintergrund danke'>" .
"Vielen Dank, Ihre Nachricht wurde versendet.<br/><br/>";
// Link zur Startseite
echo "<a href='" . $url . "' target='_top'>Weiter zur Startseite</a></p>";
}
else {
// Eingabefehler und Formular ausgeben
echo str_replace("<!-- Fehleranzeige -->",
"<strong>Die Nachricht wurde aus folgendem Grund nicht gesendet:</strong><br/>" .
$eingabefehler, $formular);
}
}
else {
// Formular ausgeben
echo $formular;
}
?>
</article>
</body>
</html>
Kommentar