PHP - Eingabe von kyrillischen Zeichen verbieten
Hallo,
Ich habe auf meiner webseite einen formular, wo sich user für einen newsletter registrieren können. Die seite ist eine reine HTML seite - erst wenn das formular ausgefühlt ist, kommt PHP ins spiel. Da ich von PHP wenig ahnung habe und hier einen vorgefertigeten script verwende, den ich etwas modifiziert habe, hierzu eine frage:
Ich würde gerne den besuchern die eingabe von kyrillischen buchstaben verbieten, da das meine datenbank durcheinander bringt. Wie kann ich das in meinem fall am sinnvollsten lösen?
Am besten wäre natürlich, wenn kyrillische buchstaben schon beim tippen "abgefangen" werden.
So sieht mein code fürs formular aus:
Wie kann ich das realisieren?
Vielen Dank.
MODERATOR (28.04.2007):
Beitrag auf "GELÖST" gestellt.
Dani
Ich habe auf meiner webseite einen formular, wo sich user für einen newsletter registrieren können. Die seite ist eine reine HTML seite - erst wenn das formular ausgefühlt ist, kommt PHP ins spiel. Da ich von PHP wenig ahnung habe und hier einen vorgefertigeten script verwende, den ich etwas modifiziert habe, hierzu eine frage:
Ich würde gerne den besuchern die eingabe von kyrillischen buchstaben verbieten, da das meine datenbank durcheinander bringt. Wie kann ich das in meinem fall am sinnvollsten lösen?
Am besten wäre natürlich, wenn kyrillische buchstaben schon beim tippen "abgefangen" werden.
So sieht mein code fürs formular aus:
<form action="newsletter/index.php" method="post" target="_blank">
<tr>
<td width="66"><strong class="text-main">Anrede:</strong></td>
<td width="99"><input type="radio" name="anrede" value="Frau" />
<span class="text-main">Frau</span> </td>
<td width="99"><input type="radio" name="anrede" value="Herr" />
<span class="text-main">Herr</span>
</option></td>
</tr>
<tr>
<td><strong class="text-main">Vorname:</strong></td>
<td colspan="2"><input type="text" name="vorname" size="25" maxlength="150" /></td>
</tr>
<tr>
<td><strong class="text-main">Nachname:</strong></td>
<td colspan="2"><input type="text" name="nachname" size="25" maxlength="150" /></td>
</tr>
<tr>
<td><strong class="text-main">eMail:</strong></td>
<td colspan="2"><input type="text" name="email" size="25" maxlength="150" /></td>
</tr>
<tr>
<td rowspan="2"><strong class="text-main"><strong>Verfahren:</strong></strong><br />
<br /></td>
<td height="21" colspan="2"><input name="option" type="radio" value="anmelden" checked="checked" />
<span class="text-main">Anmelden</span> </td>
</tr>
<tr>
<td height="21" colspan="2"><input type="radio" name="option" value="abmelden" />
</span><span class="text-main">Abmelden</span></td>
</tr>
<tr>
<td height="37"> </td>
<td colspan="2"><input name="submit" type="submit" value="Daten bestätigen" /></td>
</tr>
</form>
Wie kann ich das realisieren?
Vielen Dank.
MODERATOR (28.04.2007):
Beitrag auf "GELÖST" gestellt.
Dani
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 48637
Url: https://administrator.de/contentid/48637
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
2 Kommentare
Neuester Kommentar
@dourden
Hi,
die folg. JavaScript-Funktion überprüft eine Eingabe auf korrekte Zeichen
des Alphabets, sowie Umlaute und ß:
Erlaubt --> ...muster=/[A-Za-zÄÖÜäöüß]/;...
Ziffern, @, (), \, , ., =, sind nicht erlaubt:
Nicht erlaubt --> ... muster=/[0-9]|[@\(\)\[\]\.=]/;...
Die Liste der nicht erlaubten Zeichen kannst du vielleicht durch deine
n.e. kyrillischen Zeichen ersetzen.
Zusätzlich wird noch geprüft, ob JavaScript zum korrekten
Ausführen der Seite aktiviert ist.
Grüße
Günni
Hi,
die folg. JavaScript-Funktion überprüft eine Eingabe auf korrekte Zeichen
des Alphabets, sowie Umlaute und ß:
Erlaubt --> ...muster=/[A-Za-zÄÖÜäöüß]/;...
Ziffern, @, (), \, , ., =, sind nicht erlaubt:
Nicht erlaubt --> ... muster=/[0-9]|[@\(\)\[\]\.=]/;...
Die Liste der nicht erlaubten Zeichen kannst du vielleicht durch deine
n.e. kyrillischen Zeichen ersetzen.
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
function check_eingabe(){
ok=false;
muster=/[A-Za-zÄÖÜäöüß]/; //Prüfen, ob Buchstaben eingegeben wurden
test=muster.exec(document.formular.textfeld.value);
if(test){ok=true;} // Wenn ja, dann O.K.
muster=/[0-9]|[@\(\)\[\]\.=]/; // Prüfen, ob zusätzlich Ziffern, @-Zeichen,
// Klammern, Punkt oder Gleichheitzeichen eingegeben wurden
// Die Liste verbotener Zeichen kann einfach erweitert werden.
// Zu beachten ist nur, dass bestimmte Zeichen durch den Backslash maskiert(\(,\.,\])
// werden müssen, da sie sonst nicht als das Zeichen selber interpretiert werden.
// Einfach mal ausprobieren, allzu gut kenn´ich mich mit reg.Ausdrücken nicht aus.
test=muster.exec(document.formular.textfeld.value);
if(test){ok=false;}// Wenn ja, dann nicht O.K.
if(!ok || document.formular.textfeld.value=="Bitte korrekt ausfüllen!"){
document.formular.textfeld.value="Bitte korrekt ausfüllen!";
document.formular.textfeld.select();
return false;
}
return true;
}
function check_java(){
if (!navigator.javaEnabled()) {
alert("Zum korrekten Ausführen der Seite muß JavaScript eingeschaltet sein.");
}
return true;
}
// -->
</script>
</head>
<body onload="check_java()">
<form action="eingabe.html" name="formular" onsubmit="return check_eingabe()">
<input type="text" name="textfeld">
<input type="submit" value="Senden">
</form>
</body>
</html>
Zusätzlich wird noch geprüft, ob JavaScript zum korrekten
Ausführen der Seite aktiviert ist.
Grüße
Günni