Regulärer Ausdruck wirkt nur einmal
Nestor
- php
0 ChrisB0 Claudius L.
Hallo,
in meinem PHP-Programm rufe ich in einer mit require_once aufgerufenen Unterroutine nacheinander Formalprüfungen auf von Eingabefeldern, u.a. ob es sich um einen "Namen" handelt, beginnend mit Großbuchstaben, ....
Die Routine (regulärer Ausdruck) lieferte plötzlich falsche Ergebnisse.
Um es einzukreisen, habe ich hintereinander die Prüfung des gleichen Feldes
aufgerufen und tatsächlich, das erste Mal wird ein Fehler erkannt, beim zweiten Male nicht.
Muß/kann man in dem reg. Ausdruck irgend etwas zurücksetzen oder ist das require_once falsch an dieser Stelle?
Gruß
Nestor
Hi,
Um es einzukreisen, habe ich hintereinander die Prüfung des gleichen Feldes
aufgerufen und tatsächlich, das erste Mal wird ein Fehler erkannt, beim zweiten Male nicht.
Muß/kann man in dem reg. Ausdruck irgend etwas zurücksetzen oder ist das require_once falsch an dieser Stelle?
Was man müsste, ist das Problem nachvollziehbar beschreiben.
</hilfe/charta.htm#tipps-fuer-fragende>
MfG ChrisB
Hallo Nestor!
Wenn ich dich richtig verstehe, hast du zwei Dateien und machst im Prinzip Folgendes:
test.inc.php:
// Regulären Ausdruck auf ein Formularfeld anwenden
// Kontrollausgabe: Eingabe ok/nicht ok
index.php
require_once 'test.inc.php'; // die passende Kontrollausgabe erfolgt
require_once 'test.inc.php'; // nichts passiert
In dem Fall ist das Problem klar – es liegt am vorgesehenen Verhalten von require_once. Wie der Name schon vermuten lässt, wird die angegebene Datei nämlich nur ein (einziges) Mal eingebunden, danach wird die Anweisung ignoriert.
Sinnvoller wäre wohl, wenn du eine Funktion erstellen würdest, die die Prüfung durchführt. Die kannst du dann beliebig oft aufrufen.
Wenn es dir übrigens nur um das Validieren von Eingabedaten geht, könnten dich auch Filter interessieren.
Gruß,
Claudius