• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Seite schützen

Status
Für weitere Antworten geschlossen.

MasteR ChieF

Mitglied
Hallo

Ich will eine meiner Seiten schützen (nicht die Hauptseite).

Das heisst, wenn ich auf diese Seite zugreife, wird sofort eine andere Seite angezeigt, ausser wenn man durch einen Link auf diese Seite gelangt!!

ist das irgendwie möglich??

danke für die Hilfe

LG MasteR ChieF:lol::lol::lol::lol:
 
du kannst mit der haupt seite eine variable an die zu schüzende seite senden und dort eine if abfrage machen
isset (variable) zeig unterseite -else- redirect zu hauptseite
 
@HTMLehrling:
Wozu wurden die Sessionen gemacht?

@Thread:
Also mach das mit Sessionen.

Man braucht nur 2/3 Funktionen, damits geht.

Also auf die Seite, die geschützt ist, schreibst du in die 1. Zeile folgendes:
PHP:
<?php
session_start(); // Das in die 1. Zeile
Sonst funktioniert das nicht.

Nun macht man eine Abfrage irgendwo rein, am besten über den ganzen Inhalt, damit man den nicht sieht.
Diese Abfrage prüft ob eine Session gesetzt ist.

So etwa:
PHP:
<?php
session_start(); // Session setzen

// Nun die Abfrage:
if($_SESSION['sicher'] == 'true') // Also wenn die Session 'sicher' den Inhalt 'true' hat, kann der Inhalt ja kommen.
{
 // Hier kann der geschützte Inhalt reinkommen
}
else // Wenn kein 'true' als INhalt ist, also wenn nix gesetzt ist, dann weiterleiten
{
 header("Location: seite.php");
}
?>
Das war die sichere Seite.
Damit aber die Seite eine Session haben kann, setzt man eine Session auf die Seite, über die man auf die sichere Seite kommt.

Also oben in der 1. Zeile wieder:
session_start();

Und dann beim Link einfach ne Session machen:
PHP:
$_SESSION['sicher'] = 'true'; // Hier weisen wir der Session sicher den Wert true zu

Und nun der Link:
echo'<a href="link.php">Link</a>';
Das wars schon.


MfG, matibaski
 
@matibaski: ist $_SESSION['sicher'] eine variable oder ist es keine?

vielleicht hast du das senden als post oder get interpretiert? setzen wäre wahrscheinlich das bessere wort, damit wir vom gleichen sprechen.

@master: wichtig ist einfach, das du am schluss die session variable wieder zerstörst, denn sonst kannst du die unterseiten nach einem aufruf auch ohne über die hauptseite zu gehen, aufrufen
 
@matibaski: ist $_SESSION['sicher'] eine variable oder ist es keine?

vielleicht hast du das senden als post oder get interpretiert? setzen wäre wahrscheinlich das bessere wort, damit wir vom gleichen sprechen.

@master: wichtig ist einfach, das du am schluss die session variable wieder zerstörst, denn sonst kannst du die unterseiten nach einem aufruf auch ohne über die hauptseite zu gehen, aufrufen

Eine Superglobale Variable
Haarspalterei *g
array wenn ich bitten darf, es ist ein superglobaler array mit einer maximalen tiefe von 64 (multidimensional) :roll:
 
wieso braucht man für so was extra Sessions, würds auch so machen wie HTMLLehrling vorgeschagen hat.

PHP:
<?php
$allesok = true;

include "inc/irgendetwas.php";
..
..
?>

Und im irgendetwas.php dann halt :
PHP:
<?php
if ( isset($allesok) )
{
   // Code
}
else
{
   header("Location: http://www.deineadresse.at"); // oder so
}

?>

mfg
 
also ich denke, ihr habt alle recht. denn wenn ich variable schreibe, stimmt das natürlich hinten und vorne nicht. denn $_SESSION['sicher'] ist eine Konstante des superglobalen arrays $_SESSION.
ich betitle es aber weiterhin als variable, auch hier, wenn das von euch geduldet wird und keine weiteren sinnlosen posts verursacht, wie dieser hier auch.
Eine Superglobale Variable
Haarspalterei *g
das mit der haarspalterei hast du schön gesagt. also für mich ist wichtig das ich weiss, wie ich mit einer session oder einem array umgeh' und nicht wie die genaue bititelung lautet. und ob es jetzt assoziativ ist oder ob ich einfach als schlüssel einen namen vergeben kann ist mir eigentlich auch egal. und ob es multidimensional genutzt wird oder ob ich einfach ein array ins array pflanz. egal. hauptsache wir haben uns gegenseitig korrigiert und alle sind zufrieden.

freundliche Grüsse
der Lehrling

und noch für die, die mal ein supermutatedheroglobale aus meiner sicht sehen wollen, zittiere ich noch aus dem manual
Die Unterstützung von Sessions erlaubt Ihnen, eine beliebige Anzahl von Variablen zu registrieren und diese über Anfragen hinweg zu erhalten. Wenn ein Besucher Ihre Website aufruft, überprüft PHP automatisch (falls session.auto_start auf 1 gesetzt ist) oder auf Anfrage (explizit durch session_start() oder implizit durch session_register()), ob mit der Anfrage schon eine bestimmte Session-ID gesendet wurde. Wenn dies der Fall ist, wird die zuvor gespeicherte Umgebung wiederhergestellt.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben