php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.10.2009, 20:36  
Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 48
PHP-Kenntnisse:
Anfänger
vici befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Auf druckbare Zeichen überprüfen

Hallo zusammen,

hier bin ich mal wieder mit einer neuen Herausforderung!

Ich würde gerne eine Seite erstellen, die in deutsch-englisch-französich-spanisch-italienisch ansprechbar ist.

Soweit sogut. Jetzt das Problem. Wer kennt eigentlich eine französische Tastatur? ich nicht. Sieht diese aus wie unsere??

Müssen Franzosen auch zwei Tasten drücken, um zb ein e mit einem "accent de gue" zu schreiben, also ein é ??

Wie auch immer. Wie kann man denn überprüfen, das nur die, aus den Sprachen erlaubten Buchstaben in ein Feld eingegeben werden dürfen???

Für unser Alphabet ist es einfach:
Mit

if (!preg_match('/^[0-9a-zA-Z]*$/', .....

überprufe ich, ob A-Z a-z oder 0-9 eingegeben wird.
Ich bin mir noch nicht mal sicher, on das auch Umlate überprüft, also üäö etc...

Es würde mich echt freuen, wenn jemand schon mal ein ähnliches Problem hatte und ebenso auf alle Zeichen, besonders aber auf die Besonderheiten fremder Alphabets, überprüfen musste!?!?

Wie also kann ich all diese Überprüfungen incl. den Zeichen .,'"§$%&/()=-_?! sowie die landesspezifischen Zeichen Überprüfen???

Auf keine Fall dürfen keine Zeichen zugelassen werden, mit dennen Programmcode in ein $_POST-Feld eingefügt werden kann, also < und >, ich denke, das sind die schlimmsten?!

Ich würde mich über einen Lösungsansatz freuen und hoffe auch, dass diese Frage weitere Fragen für meine Nachfolgen beantwortet, falls wir eine Lösung dafür finden.

Vielen Dank an die Spezialisten unter Euch und Liebe Grüße

Vici
vici ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.10.2009, 13:23  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Auf keine Fall dürfen keine Zeichen zugelassen werden, mit dennen Programmcode in ein $_POST-Feld eingefügt werden kann, also < und >,
Für solche Sachen ist nicht die Validierung, sondern die Ausgabefilterung (Escaping, htmlspecialchars) zuständig.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 04.10.2009, 13:46  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Wie nikosch schon schrieb ist für das verhindern von einschleusen eines Programmcodes bei der Ausgabe htmlspecialchars verantwortlich, gegebenfalls auch strip_tags.

Aber zu deiner Frage.

PHP-Code:
if(!preg_match("#^([a-z0-9üöäß \$\§\&_-]+)$#i",$_POST['feld'])){
       
//mit fehlercode etc. reagieren

Das heist Sonderzeichen musst im pattern escapen. Durch den Modiefier i kannst dir das hier A-Z sparen, denn dadurch wird zwischen Groß und Kleinschreibung nicht unterschieden.

mfg litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 04.10.2009, 17:01  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Warum soll man Franzosen verbieten, z.B. griechische Buchstaben einzugeben? Und vielleicht sitzt ja in Wien auch ein Bulgare, der kyrillische Zeichen eingeben möchte.

Hinzu kommt, dass ja doch alle Eingaben in der gleichen (UTF- Tabelle landen, weshalb man auch den kompletten Zeichensatz zulassen kann.

Wenn du magst, dann mach strip_tags() wie schon vorgeschlagen, auf alle Fälle bei der Ausgabe aber htmlspecialchars().
Wolla ist offline  
Alt 04.10.2009, 18:38  
Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 48
PHP-Kenntnisse:
Anfänger
vici befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für Eure Tips.

Ich werde das genauso umsetzen.

Dazu passt doch mal ein Programmschnipsel:

PHP-Code:
if(preg_match("#^(\Mo\DI\Mi\DO)$#i",$_POST['wochentag']))
{
  echo 
"Sinnlos!";
 }
else
{
 echo 
"Alles wird gut ;o)";

In diesem Sinne: Ruhige Tage...!!

Grüße

Vici
vici ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
E-Mail Adresse mit Regulären Ausdrücken überprüfen halblicht PHP Tipps 2009 15 19.05.2009 01:50
[Erledigt] Nur Parsen, wenn vorher NICHT ein bestimmtes Zeichen steht djscaleo PHP Tipps 2009 23 01.04.2009 15:02
[Erledigt] Zeichen Whitelist erstellen und string überprüfen Anploe PHP Tipps 2009 12 05.01.2009 18:33
[Erledigt] Variablen überprüfen mit isset() Jumper PHP Tipps 2008 8 13.09.2008 13:36
Benutze Zeichen anzeigen! cokotech Datenbanken 3 06.06.2008 18:24
erste 7 zeichen überprüfen aircrash PHP Tipps 2008 1 28.09.2007 09:11
Wieviel Pixel hat ein Zeichen? Ausmessen eines DIV-Container webazubi PHP-Fortgeschrittene 4 06.07.2006 14:52
Unsichtbares Zeichen - IE vs. Firefox Cyberbob_at_tot PHP Tipps 2006 13 13.02.2006 17:23
[Erledigt] Zeichen ersetzen in einem Dokument PHP Tipps 2007 16 25.11.2005 14:16
[Erledigt] kleiner und größer Zeichen ausklammern??? PHP Tipps 2007 9 10.11.2005 09:45
Probleme mit Zeichen wie + ' " usw. in der MySQL-DB Alpha Centauri PHP Tipps 2005 7 18.02.2005 15:53
[Erledigt] nur x zeichen zeigen PHP Tipps 2004-2 2 17.12.2004 15:10
Die 1. 15 Zeichen anzeigen imported_Lumio PHP Tipps 2004 2 23.08.2004 16:16
Überprüfung ob 2 Zeichen in einem Post gesetzt sind PHP Tipps 2004 8 28.07.2004 11:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
druckbare zeichen, php druckbare zeichen, php nicht druckbare zeichen, zeichen für erledigt, php auf buchstaben prüfen, php auf zeichen prüfen, php nur druckbare zeichen, http://www.php.de/php-einsteiger/59606-erledigt-auf-druckbare-zeichen-ueberpruefen.html, erledigt zeichen, preg_match akzente, griechische zeichen in pattern zulassen, php nicht druckabre zeichen, php auf buchstaben überprüfen, druckbares zeichen php, nicht druckbare zeichen php, schriftzeichen überprüfung dynamo d, preg_match druckbare zeichen, qt sonderzeichen, preg_match nicht druckbare zeichen, $_post auf sonderzeichen prüfen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:57 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum