Hallo Cryptic,
Variablen, die Du in einem include-file auf globaler Ebene erzeugst, sind für andere PHP-Dateien ebenfalls sichtbar. Daran kann es nicht liegen.
Es ist ja auch ok, wenn Du die Festlegung von User, Passwort, Server und DB zusammen mit dem new mysqli() beisammen hast. Die Variable $db sollte dann für Folgecode sichtbar sein.
Übrigens: Brav gemacht, gleich auf die OOP-Schnittstelle umgestiegen 👏👏👏
Einen Tipp zur Codegestaltung: Wenn Du reine PHP Files hast, die mit PHP enden und keinen HTML-Teil am Ende haben, dann lass das ?> am Ende weg. Das ist eine allgemeine PHP Codierempfehlung. Du siehst nämlich nicht, ob da vielleicht noch ein Space oder ein Zeilenumbruch hinter ist; aber wenn, dann includest Du ihn mit und er landet im Browser.
Man erkennt aus deinen Postings jetzt nicht, wer was wie includet. Möglicherweise liegt es daran.
Du könntest für's Debugging auch zu Beginn ein
ini_set("display_errors", "1");
error_reporting(E_ALL);
setzen. Damit sollten Fehlermeldungen im Browserfenster erscheinen, wenn was faul ist. Für den weiteren Betrieb solltest Du Dich damit befassen, wie und wohin dein PHP Errors loggt. Dazu sind die PHP.INI Optionen log_errors und error_log interessant, die kannst Du mit der ini_get Funktion abrufen, oder mit einem Einzeiler-Script
<?php php_info();
Edit: Danke, Sven - ich hatte da zuerst nur <? stehen statt <?php 😫
Achtung, dieses Script keinesfalls dauerhaft auf einem Server liegen lassen, es offenbart einem Hacker zu viel über dein System.
Rolf
--
sumpsi - posui - obstruxi