echo $begrüßung;
Neben dem von Sven schon Vorgeschlagenen:
Hast du das error_reporting auf E_ALL stehen? E_STRICT brauchst du in deinem Fall auch. Falls das in deiner PHP-Version noch nicht in E_ALL enthalten ist, solltest du es aufnehmen (oder gleich error_reporting mit -1 beglücken).
include 'config.php'; // in der $table_prefix und die DB_[...] Konstanten sind
Da hast du deine Klassendeklaration drin stehen. Erzeugst du darin auch ein Objekt $db?
$db->user = $table_prefix . 'users';
Wenn nicht, worauf greifst du nun zu? Eine E_STRICT-Warnung tät aufklären.
function login_right($username, $pwd) {
$sql = "SELECT COUNT(*) as Anzahl FROM $db->user
// Fehlermeldungen:
// - Undefined variable: db...
// - Trying to get property of non-object...
Hier bist du nun in einer Funktion, die ihren eigenen Gültigkeitsbereich von Variablen hat. $db ist bisher in ihr nicht definiert und auch nicht per global bekanntgegeben. An der Stelle kann Svens Hinweis auf das Singleton-Pattern Abhilfe schaffen.
Außerdem greifst du bisher immer nur auf Objekteigenschaften zu. Wenn du etwas Generelles für alle Anwender der Klasse oder von Objekten dieser Klasse verwenden willst, solltest du dir statische Eigenschaften anschauen, die auch im Unterschied zu den Objekteigenschaften Klasseneigenschaften genannt werden. Das Singleton-Pattern im PHP-Handbuch macht auch Gebrauch von solch einer Klasseneigenschaft.
Weiterhin sieht mir dein Code sehr nach PHP4 aus. Wenn das der Fall ist und es keine zwingenden Gründe gegen PHP5 gibt, solltst du wechseln, denn PHP4 ist schon seit einiger Zeit abgekündigt und kann der Version 5 in Sachen OOP nicht das Wasser reichen. Alle gegebenen Hinweise lassen sich zwar prinzipiell auch mit PHP4 umsetzen, aber da fehlen dir dann Klasseneigenschaften, die dir das Leben leichter machen. Stattdessen muss man statische Variablen in Methoden verwenden, wenn man das gleiche mit PHP4 nachbilden möchte.
echo "$verabschiedung $name";