dedlfix: if/else Anfängerfrage

Beitrag lesen

echo $begrüßung;

$datei = "test.txt";
$fp = fopen ($datei, "a");
fwrite($fp," ".$name);
fclose($fp);

Gut, das sieht soweit richtig aus - man könnte das jetzt beliebig mit einer Fehlerbehandlung aufrüsten (Fehler beim Öffnen der Datei, beim Schreiben in Datei), aber für den Anfang mag das zunächst mal funktionieren.

Nein, nein, nein, *kopfschüttel*, sowas sollte man gar nicht erst einreißen lassen. Wichtig, gerade für Anfänger, ist es, im Handbuch nachzuschlagen, was für ein Ergebnis eine Funktion zurückliefert. Viele Funktionen liefern im Gutfall das Gewünschte und im Fehlerfall etwas anderes, meist false. Darauf sollte man geeignet reagieren. Nachfolgende Funktionen können mit einem false meist nichts rechtes anfangen, und sinnvoll ist es ebenfalls nicht, einfach im Text weiterzumachen, als ob nichts wäre.

if ($fp = fopen('test.txt', 'a')) {
  ...
} else
  // Maßnahmen im Fehlerfall

(Nebenbei: Wenn man den Dateinamen nur ein einziges Mal benötigt, und er ein fester String ist, muss man dafür nicht extra eine Variable anlegen.)

echo "$verabschiedung $name";