Eingabefelder mit gleichem Inhalt
Marlon
- html
Hallo Community,
ich habe mit HTML ein Formular erstellt, was per eMail Nachricht verschickt wird. Ich möchte jedoch jetzt ein Schutz einbauen, der es nur Usern das Absenden eines Formulars erlaubt, die das Passwort besitzen.
Ich habe mir das wie folgt vorgestellt/realisiert:
Zuerst habe ich ein verstecktes Eingabefeld erstellt, was als vorgegebenen Inhalt das PW (xxzz) enthällt:
<TR><TD VALIGN=TOP><TD> <INPUT TYPE=HIDDEN NAME VALUE="xxzz"pwreal">
Danach habe ich ein sichtbares Feld erstellt, wo der User das PW eingeben muss. Wenn jetzt die Eingabe des Users und der Inhalt des versteckten Feldes nicht übereinstimmt, wird das Formular nicht verschickt. Falls beide Wörter übereinstimmen, bekomme ich die eMail mit den Daten.
Ist so etwas möglich? Wie mache ich die beiden Felder von einander abhängig?
Gruß und Danke im vorraus, Pflipp
PS: Eine Sicherheitslücke besteht bei diesem Verfahren nicht, da es keinerlei Konsequenzen für mich hätte, wenn ein externer User sich per Quellcode das PW zulegen würde.
Hallo!
ich habe mit HTML ein Formular erstellt, was per eMail Nachricht verschickt wird. Ich möchte jedoch jetzt ein Schutz einbauen, der es nur Usern das Absenden eines Formulars erlaubt, die das Passwort besitzen.
Ich habe mir das wie folgt vorgestellt/realisiert:
Zuerst habe ich ein verstecktes Eingabefeld erstellt, was als vorgegebenen Inhalt das PW (xxzz) enthällt:
<TR><TD VALIGN=TOP><TD> <INPUT TYPE=HIDDEN NAME VALUE="xxzz"pwreal">
Danach habe ich ein sichtbares Feld erstellt, wo der User das PW eingeben muss. Wenn jetzt die Eingabe des Users und der Inhalt des versteckten Feldes nicht übereinstimmt, wird das Formular nicht verschickt. Falls beide Wörter übereinstimmen, bekomme ich die eMail mit den Daten.
Ist so etwas möglich? Wie mache ich die beiden Felder von einander abhängig?
Ganz einfach. Dein Form-Mailer muss einfach nur prüfen, ob die beiden Felder den gleichen Wert haben. Wenn das Formular dir nur per E-Mail zugesendet wird (was man normalerweise nicht macht), ist sowas mithilfe von JavaScript zu realisieren. Das kannst du dir hier mal ansehen:
http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onsubmit
Viele Grüße
Patrick Canterino
Ganz einfach. Dein Form-Mailer muss einfach nur prüfen, ob die beiden Felder den gleichen Wert haben. Wenn das Formular dir nur per E-Mail zugesendet wird (was man normalerweise nicht macht), ist sowas mithilfe von JavaScript zu realisieren. Das kannst du dir hier mal ansehen:
http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onsubmit
Das sieht ja ganz interessant aus, nur wie muss ich das umformern, damit es auf mein Problem passt? Wäre nett, wenn du/ihr mir das nochmal sagen könntet.
Achso: Das Formular wird nicht per eMail verschickt, sondern wird von einem Service bereit gestellt.
Danke im vorraus
Hallo Marlon,
Das sieht ja ganz interessant aus, nur wie muss ich das umformern, damit es auf mein Problem passt? Wäre nett, wenn du/ihr mir das nochmal sagen könntet.
Achso: Das Formular wird nicht per eMail verschickt, sondern wird von einem Service bereit gestellt.
Dann heißt es wirklich, dass mit JavaScript gearbeitet werden muss. Ich hätte hier noch einen besseren Link:
http://selfhtml.teamone.de/javascript/beispiele/formulareingaben.htm
Aber ich werde jetzt mal versuchen, dein Problem zu lösen.
Da ich keine Ahnung habe, wie deine Formular-Felder heißen sollen (ging aus deinem Posting nicht so ganz hervor), erfinde ich einfach eigene. Das versteckte heißt "pwd_vergleich" und das für die Passwort-Eingabe heißt "pwd_eingabe".
Ein JavaScript muss einfach nur prüfen, ob die beiden Felder die gleichen Werte haben. Das kann in etwa so aussehen (komplette HTML-Datei zum Weiterbenutzen):
<html>
<head>
<title>CheckPwd</title>
<script language="JavaScript" type="text/javascript">
<!--
function checkpwd()
{
if(document.formular.pwd_eingabe.value != document.formular.pwd_vergleich.value)
{
alert('Ungueltiges Passwort!');
return false;
}
}
//-->
</script>
</head>
<body>
<form action="" onSubmit="return checkpwd()" name="formular">
<input type="hidden" value="test" name="pwd_vergleich">
Passwort: <input type="text" name="pwd_eingabe"><br>
<input type="submit" value="Abschicken"> <input type="reset" value="Zurücksetzen">
</form>
</body>
</html>
Hat im IE6 und unter Mozilla 0.9.8 funktioniert. Du musst noch den Aufruf für den Form-Mailer anpassen.
Viele Grüße
Patrick Canterino
Hi Patrick Canterino,
vielen vielen Dank für deine schnelle Hilfe, jetzt funktionierts genauso, wie ich es mir vorgestellt habe!
DANKE