"Problem" die Zweite.
Hallo,
ich bin bei meinem Programmierweg mal wieder auf ein Hinderniss gestoßen.
Lange ging es gut und das Skript wurde länger und länger. Nun wollt ich am Anfang einige Variablen festlegen, um alles übersichtlicher zu halten, unter anderen auch:
PHP-Code:
$str_void="/hallo/ %% /da/ %% /draußen/";
Ziel ist es einige reguläre Ausdrücke festzulegen (, welche natürlich nicht die angegebnen sind), nach welchen dann drei Formularfelder durchsucht werden. Verhindert werden soll SQL-Injenktion etc.
Wollte die Zeichnekette dann aus regulären Ausdrücken und Begrenzerzeichenketten mit " %% " aufbauen. Diese trennen dann die Zeichenkette und unterteile diese in das Array $str_void_array[].
Vorher wurde schon die Anzahl der Ausdrücke ermittelt.
Danach soll eine do-while-Schleife ablaufen, die die einzelnen Begriffe durchgeht und eine Variable $check_in_post=0 erzeugt, solange kein Begriff auftaucht.
Bleibt diese 0 und ist die maximale Anzahl der eingegebenen Begriffe erreicht, so soll es weiter gehen. Ist $check_in_post größer als 0, so wird abgebrochen und die Variable $check_injenction mit dem Wert 1 versehen. Diese wird danach weiter verarbeitet.
Hier mein Versuch:
PHP-Code:
$check_injenction=0;
$number_str_void_elements=substr_count($str_void, " %% ")+1;
$str_void_array[]=explode(" %% ", $str_void, $number_str_void_elements);
$count_elements_str_void=count($str_void_array);
$i=0;
do{
$array_element_number=$count_elements_str_void-1;
$array_preg_element=$str_void_array."[".$i."]";
$check_in_post=strtolower($_POST['headline'])." ".strtolower($_POST['author'])." ".strtolower($_POST['text']);
$check_in_post=preg_match($array_preg_element, $check_in_post);
if(!$check_in_post==0){
$check_injenction=1;
$i=$count_elements_str_void+1;
}
else{
$i++;
}
}
while($check_in_post==0 && $i<=$number_str_void_elements);
Das Problem sehe ich leider nicht, jedoch die Fehlerbehandlung:
Zitat:
Warning: preg_match(): Delimiter must not be alphanumeric or backslash in /srv/www/htdocs/Texteingabe.php on line 82
|
Hier nochmal Zeile 82:
PHP-Code:
$check_in_post=preg_match($array_preg_element, $check_in_post);
Bin etwas ratlos und hoffe auf Hilfe. Danke im Voraus.
Gretelein