dedlfix: Suche nach Email in Ordner voller Textdokumente

Beitrag lesen

Tach!

Viele Aufrufe etc. wie var_dumb() kannte ich bisher noch nicht, aber ich werde es mir zu Herzen nehmen es öfters einzubauen.

Einbauen muss nicht sein. Die Funktion ist nur für das Debugging gut. Man schreibt das hin, wenn man Fehler sucht, und löscht es wieder weg, wenn man damit (an der Stelle) fertig ist.

Ich weiß, dass $string ein nicht sehr aussagekräftiger Variablenname ist, aber er sollte mich schlichtweg daran erinnern, dass dieser Schritt nur zum Umwandeln von den bei scandir rausgekommenen Arrays in die String Form gedacht ist.
In $string habe ich jetzt die Dateinamen von den Textdateien in String Form hintereinander weg.
Der Dateiname sollte nicht einer sein, sondern es sollten eigentlich mehrere Dateien sein.

Warum machst du das dann so, wenn du genau weißt, dass das nichts bringt? Selbst wenn du derzeit noch nicht die Schleife für mehrere Dateien schreiben willst, solltest du eben dem scandir() nur eine Datei entlocken, oder gleich den Namen direkt in eine Variable schreiben.

In der einen Textdatei, mit der fopen fread und fclose eigentlich umgehen sollte, stand:
email: (das was ich später in der Registrierung nochmal eingegeben habe)
Also sollte, so wie ich mir das gedacht habe, preg_match die eingegebene E-Mail Adresse in dem Textdokument finden und somit was anderes (!=) als FALSE angeben, sodass die Bedingung zutrifft und man somit auf die error Seite umgeleitet wird.

$emailexists = "/fread ($open, "8000")/";

In ""-Strings werden zwar Variablennamen aufgelöst, aber Funktionsaufrufe und weitere Ausdrücke sind davon nicht betroffen. Das heißt, da wird kein fread() aufgerufen. Da steht drin ... was dir var_dump($emailexists) anzeigt.

Für einfache Vergleiche braucht man keine regulären Ausdrücke, da reicht ein simples ==.
Muss bei == nicht exakt das gleiche auf beiden Seiten stehen und bei preg_match nur der Suchbegriff in der Datei vorkommen?

Ja, und angenommen

$findemail = preg_match ($emailexists, "email: $addressee");

in $emailexists steht dein Dateininhalt

email: (das was ich später in der Registrierung nochmal eingegeben habe)

ist der dann nicht exakt "email: $addressee"? - Okay, später wird da noch mehr drin stehen. Aber es ist auch dann nicht sonderlich sinnvoll, Datenwust mit Datenwust zu vergleichen, sondern die eigentlichen Rohdaten miteinander. Das Problem löst sich aber bei datenbankorientierter Speicherung von selbst auf, weil du dann gleich die Rohdaten zurückgeliefert bekommst.

dedlfix.