Moin,
... ich habe Deinen Post mal in das Board vom Werner "
Werner Zenk - Anwendungen und Skripte" verschoben, in der Hoffnung Werner liest da dann eher, denn ich sehe da jetzt keinen Fehler.
Werner beschreibt das ja hier auf seiner Seite:
https://werner-zenk.de/php/absolute_url_erstellen.php
Wozu Du allerdings diese absolute URL da als SESSION-Variable
$_SESSION["referer"] überhaupt setzt, habe ich noch nicht verstanden. Wo verwendest Du diese Variable denn dann überhaupt und wozu? Kannst Du das bitte mal beschreiben und erklären!
Im Original-Skript der Anwendung ist das doch gar nicht vorhanden.
Das ist in PHP 8 nicht irgendwie anders als in PHP 7.
Diese reservierte PHP-Variable
$_SERVER funktioniert auch in PHP 8 nicht anders (
ich verwende auch PHP 8) und habe das gerade hier mal ausprobiert:
https://www.mobirise-tutorials.com/Test ... te-url.php
Das Skript (unten) könntest Du speichern und zum Testen mal in irgendein Verzeichnis kopieren, ich habe das als Datei mit dem Namen "
absolute-url.php" getan und in dieses, mein Verzeichnis, kopiert:
Testseiten/Test/absolute-url.php
Code: Alles auswählen
<?php
// In der Session: "referer" wird der absolute Pfad zur Datei gespeichert,
session_start();
$_SESSION["referer"] = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME'])). '/' . basename($_SERVER['SCRIPT_NAME']);
echo $_SESSION["referer"];
?>
Umgeleitet wird einzig und alleine durch diesen
Header-Befehl mit dieser
relativen Pfadangabe zur Seite:
... wird ja im Fall des
falschen Login-Namens umgeleitet zu der Seite "anmeldung.php" im
./ gleichen Verzeichnis. Hier mal meine Beispielseite von der Anwendung "
MySQL Webseitenschutz".
./ = bleibe im gleichen Verzeichnis
../ = gehe ein Verzeichnis höher
In der
Seite zur Anmeldung (zum Login) "
anmeldung.php" wird doch andererseits die Seite eingetragen, auf die nach
erfolgreichem Login weitergeleitet werden soll. In diesem (meinen) Beispiel ist das dann die Seite "
hauptseite.php". In meinem Beispiel liegt dann also auch die Seite mit dem Namen "hauptseite.php" im
./ gleichen Verzeichnis, nämlich in der Root des Projektes. Das kann natürlich auch irgendeine andere Seite sein oder diese kann auch einen anderen Dateinamen haben:
Code: Alles auswählen
// Benutzer bereits angemeldet - Weiterleitung zur geschützten Seite
if (isset($_SESSION["login"]) &&
!isset($_GET["abmeldung"])) {
header("Location: ./hauptseite.php");
exit;
}
Wenn Du schreibst, dass das in "NetObjects Fusion" ging, denke ich natürlich gleich an diese relative Pfadangabe, denn in NOF lagen die Unterseiten meist in einem Verzeichnis "html", das ein Verzeichnis
tiefer lag - im Gegensatz zu Mobirise, wo sämtliche Seiten im
Stammverzeichnis (
Root
= Wurzelverzeichnis) des Projektes liegen.
Es wäre also (wie immer) schon wichtig Deine Seite im Netz (URL) zu sehen, damit man nicht nur raten muss.
Bitte lies mein
Tutorial zum Einbau der Skripte in Mobirise vom "
MySQL-Webseitenschutz" hier:
https://www.mobirise-tutorials.com/Seit ... orial.html
Ich vermute, dass Du die Seiten vom Werner in ein Unterverzeichnis kopiert haben könntest, diese gehören aber ebenso in das Stammverzeichnis wie alle anderen Seiten von Mobirise.
P.S.:
... vielleicht interessant für Dich. So sieht das Verzeichnis der Anwendung "MySQL Webseitenschutz" bei mir am Server aus: