Nestor: Regulärer Ausdruck wirkt nur einmal

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

  1. 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

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. 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