Tom: Sonderzeichen in Array

Beitrag lesen

Hello,

ich versuche zu erkennen ob in POST-Variablen, die über ein Formular übergeben werden, bestimmte Sonderzeichen vorkommen. Dazu benutze ich ein Array in dem die Sonderzeichen stehen, die nicht vorkommen dürfen. Mit einer while-Schleife und strpos überprüfe ich dann, ob die Sonderzeichen in der POST-Variable stehen.

Code:

$ungueltigezeichen = array("'","<",">","*","|","`","´","/","~","");

$i=0;
while ($bungueltigezeichen[$i]) {
  if (strpos($benutzername, $bungueltigezeichen[$i])!==FALSE) { $fail='bname';
    }
  $i++;
  }

  
Warum benutzt Du nicht foreach() anstelle von while?  
<http://de.php.net/manual/en/control-structures.foreach.php>  
  
  

> Leider scheint es so zu sein, dass bestimmte Zeichen nicht im Array stehen dürfen, wie zum Beispiel "\".  
  
Doch! \ darf auch als Wert im Array vorkommen. Nur hat \ in PHP eine sehr starke Sonderbedeutung. Er leitet Steuersequenzen ein, oder maskiert sich selbst oder das " oder das '...  
  
Du musst das Zeichen also anders übergeben:  
  
   $ungueltigezeichen[] = '\\';  
oder  
   $ungueltigezeichen[] = "\\";  
oder  
   $ungueltigezeichen = array("'","<",">","\*","|","`","´","/","~","\\");  
  
<http://de.php.net/manual/en/language.types.string.php>  
  
  
  
  
  
Liebe Grüße aus dem schönen Oberharz  
  
  
Tom vom Berg  
![](http://selfhtml.bitworks.de/Virencheck.gif)  
  

-- 
 ☻\_  
/▌  
/ \ Nur selber lernen macht schlau  
<http://bergpost.annerschbarrich.de>