... ich versuche mal (zunächst recht schnell) den Einbau zu erklären. Bitte frage nach Details, die Dir unklar sind.
Ich beschreibe hier den Einbau, wie auf meiner Mobirise-Seite:
https://www.mobirise-tutorials.com/Mitglieder.php
Bitte lasse Dich nicht von den Screenshots verwirren, ich habe diese Anwendung schon im Jahr 2017 eingebaut und da sah der "Code Editor" in "
Mobirse 3" noch so aus.
1) zunächst benötigst Du ja eine
Zugangsseite, auf der sich die "Mitglieder"
einloggen können.
Bei mir meine Seite "
Mitglieder.php".
Das sollte nun nicht unbedingt die Startseite sein (kann es aber natürlich). Dort muss dann das Formular in irgendeinen Block von Mobirise eingebaut werden. Bei mir ist das auch ein
einfacher Textblock:
Code: Alles auswählen
<form method="post">
<p>
<label>Benutzer:
<input type="text" name="name" required="required" autocomplete="username">
</label>
</p>
<p>
<label>Passwort:
<input type="password" name="passwort" required="required" autocomplete="current-password">
</label>
</p>
<p>
<input type="submit" name="anmeldung" value="Anmelden">
</p>
</form>
... auf diese Seite, mit dem Formular zur Anmeldung, gehört das Skript unten (angepasst an Deine Seiten-Namen) in der mittels PHP-SESSION (Browser-Sitzung) abgefragt wird, ob derjenige bereits eingeloggt ist oder nicht und ob das Mitglied bereits überhaupt in der Datei "
benutzer.php" eingetragen ist.
Dieses Skript gehört eben auf der gleichen Seite in den Bereich:
"
Before <!DOCTYPE>, <html> and <head> tags:"
ACHTUNG, in diesem Bereich darf auf keinen Fall über der ersten Zeile des Skripts noch eine Leerzeile oder auch nur ein Leerzeichen stehen, sonst kann das nicht vom Browser verarbeitet werden.
Code: Alles auswählen
<?php
/*
* PHP-Webseitenschutz - anmeldung.php
* - https://werner-zenk.de
*/
session_start();
include "benutzer/benutzer.php";
// Anmeldung überprüfen
if (isset($_POST["anmeldung"])) {
if (isset($BENUTZER_PASS[trim($_POST["name"])]) &&
$BENUTZER_PASS[trim($_POST["name"])] === $_POST["passwort"]) {
// Session setzen
session_regenerate_id();
$_SESSION["benutzername"] = trim($_POST["name"]);
// Zur "geschützten"-Seite nach der Anmeldung weiterleiten.
// Gegebenenfalls muss diese hier angepasst werden!
header("Location: Sichere-Seite.php");
}
}
// Abmeldung
if (isset($_GET["abmeldung"])) {
// Session und Cookies löschen
unset($_SESSION["benutzername"]);
$_SESSION = [];
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000, $params["path"],
$params["domain"], $params["secure"], $params["httponly"]);
}
session_destroy();
// Zur Anmeldung weiterleiten.
header("Location: Mitglieder.php");
}
?>
2) auf der
gesicherten Seite ...
bei mir meine Seite "
Sichere-Seite.php"
... also der Seite die man nur über dieses Login erreichen kann, steht dann auch wieder im Bereich:
"
Before <!DOCTYPE>, <html> and <head> tags:"
die
SESSION (Sitzung)
Abfrage, ob der Benutzer schon eingeloggt ist, wie im Übrigen auf jeder Seite, die so geschützt sein soll. Stimmt der Zugang nicht, wird wieder auf meine Seite "
Mitglieder.php" umgeleitet, weil dem Besucher der Zugang verweigert wurde.
Code: Alles auswählen
<?php
/*
* PHP-Webseitenschutz - geheim.php
* - https://werner-zenk.de
*
* Dieses PHP-Script muss an den Anfang jeder
* Seite die geschützt werden soll.
*/
session_start();
if (!isset($_SESSION["benutzername"])) {
// Zur Anmeldung weiterleiten
header("Location: Mitglieder.php");
exit;
}
?>
Was nun auf Deiner gesicherten Seite zu sehen ist, ist vollkommen egal.
Du musst Dir aber im Klaren sein, dass eigentlich nur die Seite selbst, also der Text (HTML-Code) so gesichert ist. Wer sich auskennt, würde die Fotos auch händisch im Verzeichnis "assets" finden können.
Sonst muss eigentlich gar nichts mehr auf diese gesicherte Seite.
Ich habe dort noch eine
Begrüßung mit dem Benutzer-Namen erstellt und einen Link zum "Abmelden", der dann wieder zurück zur Login-Seite führt - hier mit der "
PHP-Aktion"
?abmeldung, die im Skript definiert wurde. Das auch wieder anstelle des Beispiel-Textes eines einfachen Textblocks.
Mitglieder.php?abmeldung
Code: Alles auswählen
<div class="container">
<div class="row">
<div class="col-xs-12 lead mbr-editable-full">
<p style="text-align: center; font-weight: bold; color: blue;">Herzlich willkommen <?=$_SESSION["benutzername"];?></p>
<p style="text-align: center;"> » <a style="text-decoration: underline; color: red;" href="Mitglieder.php?abmeldung">Abmelden</a> « </p>
</div>
</div>
</div>