2017-10-15 4 views
0

Das mag auf den ersten Blick ziemlich verwirrend erscheinen, aber ich habe ein Login-System auf meiner Website. Ich habe auch ein Forum auf meiner Website. Ich möchte es so machen, wenn Leute auf den Forum-Button klicken und sie nicht eingeloggt sind, bringt sie sie auf die Login-Seite, aber wenn sie sind, werden sie sie zu den Foren bringen. Ich habe das an Ort und Stelle, aber ich versuche, noch etwas zu tun. Ich möchte es auch so machen, wenn Leute in die URL gehen und www.example.com/forums.php eingeben, wird es prüfen, ob sie eingeloggt sind und wenn nicht, dann bringe sie zurück zur Anmeldeseite und wenn sie es tun sind, fahren Sie fort, sie dorthin zu bringen. Ich habe es versucht, aber es funktioniert nur für den ersten Teil, wie ich sagte, nicht den Rest.Benutzer auf eine andere Seite umleiten, wenn nicht eingeloggt?

<!-- Main Content --> 
     <p class="japanese">プレーンズ</p> 
     <p class="dev" contenteditable>currently under development</p> 
     <p class="clock"></p> 
     <p class="login"><a href="login.php">login</a></p> 
     <p class="register"><a href="register.php">register</a></p> 
     <?php 
      if (isset($_SESSION['u_username'])) { 
       echo '<p class="forums"><a href="forums.php">forums</a></p>'; 
      } else { 
       echo '<p class="forums"><a href="login.php">forums</a></p>'; 
      } 
     ?> 

Antwort

1

auf Ihrem forums.php, überprüfen, ob die Sitzung aktiv ist, und wenn nicht, eine HTTP-Umleitung erteilen.

<?php 
if (!isset($_SESSION['u_username'])) { 
    header('Location: login.php'); 
    exit(); 
} 

Die exit ist wichtig, mehr Code auf der Seite zu vermeiden, zu laufen, wenn der Benutzer umgeleitet wird.

Und die Weiterleitung sollte vor jeder Ausgabe platziert werden, was bedeutet, dass es am Anfang der Datei ausgeführt werden sollte.

+0

Das hat zuerst nicht funktioniert, aber ich habe Ihren Code ein wenig bearbeitet, anstatt, was Sie hatten, setzte ich: ' 'Und das schien so zu arbeiten, danke für die Hilfe. – abyss

+0

Wenn Sie diese _in 'forums.php'_ wie Sie sagten, Sie wollten, dann ist es sehr seltsam, zu forums.php umleiten zu müssen :-) Allerdings gab es eine fehlende'! 'In meiner Antwort, also ich Habe es jetzt hinzugefügt. – MatsLindh

+0

Ja, das ist mir aufgefallen und ich habe meinen Code aus forums.php ausprobiert und festgestellt, dass alles perfekt funktioniert hat, bis ich mich angemeldet habe und in Foren geklickt habe. Als ich das tat, gab es einen Google-Fehler an, der besagt, dass es zu viel umgeleitet wurde. Also würde ich Ihren Code in index.php setzen und wenn ich es tun würde, würde es vollständig funktionieren? – abyss

Verwandte Themen