Daten vergleichen

Sehr oft kommt es vor, dass bestehende Daten mit neuen verglichen werden müssen. Im folgenden Beispiel soll ermittelt werden, ob eine bestimmte E-Mail-Adresse bereits vorhanden ist. Ist diese nicht vorhanden, soll sie mit in die Sammlung aufgenommen werden.

Dazu lesen wir eine Datei zeilenweise ein und vergleichen diese dann – wird ein identischer Eintrag gefunden, wird abgebrochen. Ansonsten wird die E-Mail-Adresse gespeichert.

PHP-Quellcode: Daten vergleichen
<?php
$email = "dagobert@duck.ente";
 
// Datei öffnen zum Lesen und Schreiben
$handle = fopen ("mailadressen.txt", "a+");
 
while ( $inhalt = fgets($handle, 4096))
{
  $inhalt = trim ( $inhalt );
  echo "<li> |". $inhalt ."| </li>";
  if ( trim ($inhalt) == $email)
  {
    echo "E-Mail-Adresse bereits vorhanden";
    exit;
  }
}
 
fwrite($handle, $email);
 
// Zeilenumbruch einfügen
fwrite($handle, "\r\n");
 
fclose($handle);
?>

Übung

Integrieren Sie hier ein Formular, über das eine E-Mail-Adresse erfasst werden kann und die dann in die Datei geschrieben wird, wenn die E-Mail-Adresse noch nicht vorhanden ist (wie im obigen Beispiel). Für Beispiele von Formular siehe Kapitel: Affenformular