.MacSven
Threadersteller
Dabei seit: 20.03.2007
Ort: -
Alter: 37
Geschlecht:
|
Verfasst Di 10.07.2007 15:35
Titel Spam-Schutz für Formular - Java-Script muss geändert werden |
|
|
Hallo,
ich habe eine bitte: ich versuche schon den ganzen Tag ein fertiges Script meinen Bedürfnissen anzupassen, kriege es aber leider nicht hin. In dem folgenden Script sind folgende Funktionen enthalten: Wenn der einzugebende Code nicht der Zeichenlänge = 5 entspricht, dann kommt die Meldung: "Bitte geben Sie den Code ein". Sobald 5 Zeichen eingebenen sind, wird überprüft, ob diese Zeichen dem Code entsprechen oder nicht und es wird ein entsprechender Text ausgegeben. Auf diesen Text kann ich aber verzichten. Ich möchte einfach, dass sobald die Eingabe nicht dem Code entspricht, die Ausgabe "Bitte geben sie den Code ein" erscheint und man bei einem Klick auf "OK" sein Glück erneut versuchen muss.
Hier der Code:
Code: |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1 Transitional//EN">
<html>
<head>
<title>Spam-Schutz</title>
<script type="text/javascript">
function eingaben_ueberpruefen(){
if (document.Form.eingabe.value.length != 5){
alert("Bitte geben Sie den Code ein!");
document.Form.eingabe.focus();
return false;
}
else
return true;
}
function RND(){
Zufall = Math.round(Math.random()*11+1);
document.Form.code.value=Zufall;
return Zufall;
}
</script>
</head>
<body onLoad="document.Form.eingabe.focus();">
<h2>Spam-Schutz</h2>
<?php
// Spam-Schutz
$eingabe = @$_POST["eingabe"];
$eingabe = strtolower($eingabe);
$code = @$_POST["code"];
if(@$_POST["eingabe"] !=""){
$chluessel[1] = "dsnxn";
$chluessel[2] = "tepsh";
$chluessel[3] = "5fwnb";
$chluessel[4] = "fs7ha";
$chluessel[5] = "5ress";
$chluessel[6] = "ywyyw";
$chluessel[7] = "lcvr7";
$chluessel[8] = "gskaw";
$chluessel[9] = "u7twn";
$chluessel[10] = "4x8uw";
$chluessel[11] = "wtwem";
$chluessel[12] = "ehewh";
// Weitere Schlüssel ab hier eingeben!
// Überprüfung
if ($chluessel[$code] == $eingabe) {
echo "<font color=blue>Die Eingabe war richtig.</font>";
}
else {
echo "<font color=red>Die Eingabe war falsch!</font>";
}
}
?>
<form name="Form" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" onSubmit="return eingaben_ueberpruefen(this.form)">
<table>
<tr>
<td>Wiederholen Sie<br>folgenden Code<br><small>(Dies verhindert SPAM)</small></td>
<td>
<input type=hidden name="code">
<script type="text/javascript">document.write('<img src="'+RND()+'A.gif" width=210 height=50>');</script>
</td>
</tr>
<tr>
<td></td>
<td><input type=text name="eingabe" style="text-transform: uppercase;"></td>
<tr>
<th colspan=2>
<br>
<input type=submit> <input type=reset>
</th>
</tr>
</table>
</form>
</body>
</html>
|
Ich könnte mir vorstellen, dass sowas in dieser Art schon reichen würde, nur leider passen die von mir eingefügten PHP-Befehle nicht ins JavaScript (meine Änderung befindet sich in Zeile 8 des Codes):
Code: |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1 Transitional//EN">
<html>
<head>
<title>Spam-Schutz</title>
<script type="text/javascript">
function eingaben_ueberpruefen(){
if ($chluessel[$code] != $eingabe){
alert("Bitte geben Sie den Code ein!");
document.Form.eingabe.focus();
return false;
}
else
return true;
}
function RND(){
Zufall = Math.round(Math.random()*11+1);
document.Form.code.value=Zufall;
return Zufall;
}
</script>
</head>
<body onLoad="document.Form.eingabe.focus();">
<h2>Spam-Schutz</h2>
<?php
// Spam-Schutz
$eingabe = @$_POST["eingabe"];
$eingabe = strtolower($eingabe);
$code = @$_POST["code"];
if(@$_POST["eingabe"] !=""){
$chluessel[1] = "dsnxn";
$chluessel[2] = "tepsh";
$chluessel[3] = "5fwnb";
$chluessel[4] = "fs7ha";
$chluessel[5] = "5ress";
$chluessel[6] = "ywyyw";
$chluessel[7] = "lcvr7";
$chluessel[8] = "gskaw";
$chluessel[9] = "u7twn";
$chluessel[10] = "4x8uw";
$chluessel[11] = "wtwem";
$chluessel[12] = "ehewh";
// Weitere Schlüssel ab hier eingeben!
// Überprüfung
if ($chluessel[$code] == $eingabe) {
echo "<font color=blue>Die Eingabe war richtig.</font>";
}
else {
echo "<font color=red>Die Eingabe war falsch!</font>";
}
}
?>
<form name="Form" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" onSubmit="return eingaben_ueberpruefen(this.form)">
<table>
<tr>
<td>Wiederholen Sie<br>folgenden Code<br><small>(Dies verhindert SPAM)</small></td>
<td>
<input type=hidden name="code">
<script type="text/javascript">document.write('<img src="'+RND()+'A.gif" width=210 height=50>');</script>
</td>
</tr>
<tr>
<td></td>
<td><input type=text name="eingabe" style="text-transform: uppercase;"></td>
<tr>
<th colspan=2>
<br>
<input type=submit> <input type=reset>
</th>
</tr>
</table>
</form>
</body>
</html>
|
Würde mich sehr freuen, wenn mir das jemand so anpassen könnte! Vielen Dank schonmal im Vorraus!
Gruß Sven
|
|