Solange ich auf einer Domain bleibe funktioniert dieses Problemlos. Sobald ich jetzt die zweite Domain aufrufe, die auf die gleiche Datenbank zugreift bekomme ich das Login angezeigt, sprich ich bin auf der anderen Seite nicht eingeloggt.
Ich fand:
$session = session_id();
Das ist also klar. Denn die Session gilt immer nur für eine Domain. Und das ist auch gut so.
Doch dann fand ich noch:
SELECT user_id FROM zugangsdaten WHERE user_nickname=? AND user_passwort=? AND user_aktiv=? AND user_onoff=?"); … $stmt->bind_param("ssss", $userMail, $pw, $ak, $uk);
Du speicherst also das Passwort im Klartext. Das ist gefährlich. Benutze hierfür die Funktion password_hash() und deren Schwestern password_verify(), password_needs_rehash().
Falls Du auf den Gedanke kommst, die MySQL/MariaDB-interne Funktion PASSWPORD() zu benutzen, beachte die Warnung:
The PASSWORD() function is used for hashing passwords for use in authentication by the MariaDB server. It is not intended for use in other applications.
Um die für Dein Vorhaben günstigste Vorgehensweise auswählen zu können brauche ich noch Informationen:
- Liegen beide Domains dauerhaft im Sinne "für immer und ewig" auf dem gleichen Server?
- Hast Du für beide HTTPS?
Eine Lösung wird übrigens nicht trivial sein. Dein Vorhaben wird also einigen Aufwand verursachen. Sind die Domains nicht "für immer und ewig" auf dem gleichen Server ist der halt nur größer.
Die Frage ist: Willst Du das WIRKLICH? oder geht es Dir nur um die Behebung einer eher kleinen Unbequemlichkeit?
Beginne in jedem Fall damit, das ernsthafte Problem mit den Klartextpasswörtern zu beheben.
Hier mal was älteres von mir zu dem Thema (PDF). Das hat aber mit PHP 7.x weiter Gültigkeit.