echo $begrüßung;
@mysql_connect('localhost', 'root', '') OR die(mysql_error());
Sehr interessante Konstruktion. PHP-Fehlermeldungen werden zwar unterdrückt, aber dem Anwender wird die MySQL-Fehlermeldung angezeigt. Diese beinhaltet bei fehlgeschlagenen Verbindungen typischerweise auch den Datenbank-Benutzernamen und gelegentlich auch von außen ansprechbare Host-Namen.
"... or die(...)" ist im Allgemeinen keine Fehlerbehandlung, die man einem Anwender zumuten möchte. Schon gar nicht soll er solch detaillierte Hinweise zum weiteren möglichen Ausnutzen von Sicherheitslücken bekommen.
Ich habe zwar in der index.php eine Datenbank-Verbindung aufgebaut, die auch funktioniert, aber davon bekommt die news.php nichts mit, obwohl ich sie in die index include.
Wo ist mein Denkfehler?
Der ist aus dem Gegebenen nicht nachvollziehbar. Ich finde keine Include-Anweisung in der news.php. Stattdessen ist jede Menge Zeug zu sehen, das mit dem Problem nichts zu tun hat. Bitte kürze doch demnächst den zum Nachvollziehen des Problems nötigen Code auf ein Minimum ein. Manchmal hilft es auch, das Problem komplett von vorn nachzustellen. Also mit (einer) leeren Datei(en) und so wenig Code wie möglich. Manchmal sieht man dann den Baum, der im Weg steht, als wenn man immer wieder seinen bisherigen Wald betrachtet.
echo "$verabschiedung $name";