Hallo,
Um Einträge in unseren Formularen überprüfen zu können habe ich in eine PHP-Datei ein externes Javaskript eingebunden (siehe [1]). Alle Felder werden beim Verlassen ("onblur") über die Javaskript-Funktion "ueberpruefung(form_nr, feld_nr, feld_art, pflicht)" sofort auf deren Inhalt überprüft (siehe [2]).
<?php
header("Expires: Mon, 10 Jan 1970 01:01:01 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="CSS_definitionen.css">
[1] <script language="javascript" type="text/javascript" src="JS_formular.js"></script>
</head>
<body>
<?php
if (!session_id)
{
mt_srand((double) microtime()*1000000);
$ip = $REMOTE_ADDR;
$session_id = md5(str_replace(".","",$ip) + mt_rand(100000,999999));
$host = gethostbyaddr($ip);
}
echo('<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">');
echo('<tr>');
echo('<td width="100%">');
echo('<form action="PHP_gaestebuch_eintrag_speichern.php" method="post">');
[...]
[2] echo('<td><input type="text" name="name" onblur="javascript:ueberpruefung(0,0,'N',1)"></td>');
[...]
?>
</body>
</html>
Wenn ich die Seite aufrufe, bekomme ich den Hinweis, dass sich Fehler auf der Seite befinden:
-"Objekt erwartet in Zeile 7, Zeichen 1" -> Ist bei mir die Zeile mit "<html>" (?!?!?)
-"Syntaxfehler in Zeile 23, Zeichen 22" --> Ist bei mir die 2. echo-Zeile: echo('<tr>');
Ich finde diese Fehlermeldungen mehr als seltsam, v.a. weil ich in diesen Zeilen und auch in den Zeilen davor auch keinen Fehler finden kann.
Daran schliesst sich meine Frage, ob die Javaskript-Überprüfung aus einer PHP-Datei so funktionieren kann.
Zum besseren Verständnis: Die zu übergebenden Parameter lauten wie folgt (von links nach rechts):
Formular-Nr, Feld-Nr, Feld-Art ("N"amensfeld, "E"mail,...), Pflichtfeld
MfG, Michael