Zeichen Verbieten?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
benutzer
code
eingabe
ersetzen
fehlermeldung
frage
genaue fehlermeldung
input
interessieren
nachteil
pos
schriftzeichen
simple frage
sonderzeichen
string
text
unerlaubte sonderzeichen
vorteil
weiterleitung
zeichen
-
Hey Liebe Community,
ich hab eine Simple frage.
Ich habe eine Seite erstellt wo auch Input felder vorhanden sind.
Nun will ich das zeichen wie " ' , . @ # ä ö ü \/() etc. herausgefiltert werden und ersetzt, sowie das so eine eingabe von vorne hin nicht mögich ist.
Da ich noch recht am anfang bin kam ich hier nichtmal mit google weiter..
Mit freundlichen Grüßen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Allgemein sonderzeichen verbieten :
<?php
if(!preg_match("/^[a-zA-Z._ ]{x,y}$/",$benutzer))
{
$error_message ="Du verwendest unerlaubte Sonderzeichen in: $benutzer";
}
?>
Ersetzen:
<?php
$text = strtolower( $text );
$text = str_replace( "ö", "oe", $text );
$text = str_replace( "ß", "ss", $text );
$text = str_replace( " ", "_", $text );
// usw. fuer jedes zu ersetzendes Zeichen
?>
Beitrag zuletzt geändert: 24.11.2010 13:11:58 von marius71 -
marius71 schrieb:
Allgemein sonderzeichen verbieten :
<?php
if(!preg_match("/^[a-zA-Z._ ]{x,y}$/",$benutzer))
{
$error_message ="Du verwendest unerlaubte Sonderzeichen in: $benutzer";
}
?>
Ersetzen:
<?php
$text = strtolower( $text );
$text = str_replace( "ö", "oe", $text );
$text = str_replace( "ß", "ss", $text );
$text = str_replace( " ", "_", $text );
// usw. fuer jedes zu ersetzendes Zeichen
?>
so krig ich immer die Fehlermeldung auch wenn keine sondrzeichen vorhanden sind x.x -
$string = $_POST['eingabe']; $string = str_replace( '[:punct:]' , '' , $string );
damit kannst du auch wunderbar alle sonderzeichen terminieren. also wird jetzt jedes sonderzeichen durch ein nichts ersetzt. die ä,ö,ü,ß, also die schriftzeichen musst du selbst wissen was du zulässt, oder wie. diese weise des terminierens hat den vorteil, dass der user jeden müll eingeben kann, und er trotz allem weiter kommt, nachteil ist dass er denkt "das hab ich nicht eingegeben". ist halt ne frage des: was will ich genau erreichen?
praktisch wäre mal die fehlermeldung hier zu posten, damit man sie lesen kann =) -
Könntest es auch so machen:
$pos = strrpos($mystring, "Ä");
if ($pos === true) { // Im Text ist ein Ä
// Fehlerausgabe, keine weiterleitung
}
else{
//Keine Fehlerausgabe, weiterleitung
} -
Wieso so umständlich?!
<?PHP $string = "Töst"; if(!preg_match('/[^a-z0-9]/Ui', $string)) die("Enthält Sonderzeichen"); ?>
Beitrag zuletzt geändert: 24.11.2010 23:25:40 von fabo -
Das habe ich ja oben schon einmal gepostet. Gibt wohl eine Fehlermeldung. Auch mich würde die genaue Fehlermeldung interessieren
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage