Seitenweiterleitung mit usercheck

syntax

Mitglied
Hallo Leute ich habe ein Script welches die aktuelle ID meines User überprüft.

Wenn man die ID 1 hat kommt man in dem Adminbereich ansonsten auf die Startseite.

Doch leider komme ich egal welcher User ich bin immer auf den Adminbereich.

PHP:
<?php
if($_SESSION["user_id"] != '1')
   {
   header('Location: admin.php');
   }
else
   {
   header('Location: index.php');
   }
exit;
?>

Finde meinen Fehler leider nicht, vielleicht könnt Ihr mir helfen.
 
versuch mal folgendes?
PHP:
<?php 
if($_SESSION["user_id"] == '1') 
   { 
   header('Location: admin.php'); 
   } 
else 
   { 
   header('Location: index.php'); 
   } 
exit; 
?>
 
Perfekt danke.

wenn ich das jetzt in eine Seite und nicht als extra Datei haben will, wie muss dann eigentlich mein Link aussehen?
 
Nein, zur Zeit ist es so das ich einen Link habe der auf das oben genannte Script verweist.
Wollte aber das Script gleich in die Seite einbauen, da ich mehrere solcher Scripts mit verschiedenen Bedingungen brauche.

Also statt <a href="check.php">Zurück</a> sagen das er erst die if-Anweisung beim klick auf das a-Element machen soll.
 
Zuletzt bearbeitet:
naja, der link müsste so aussehen:

http://www.meinedomain.de?id=1

mit dem ? hängst du eine Variable namens id an, welche den Wert 1 hat.
Wenn du dann auf der Seite bist, wo der Link hinführt schreibst du folgendes:

PHP:
$id= $_GET['id'];

if($id==1) include ('admin.php');
else include('index.php.');
 
Hallo,

eine User-Authentifizierung würde ich auf keinen Fall via GET realisieren. Da kann ja dann jeder die Seite händisch mit id=1 aufrufen und ist im Adminbereich. Ich würde, alles mal vereinfacht dargestellt, den Userstatus nach einer Prüfung (Login) beispielsweise in einer Sessionvariable speichern, ($_SESSION['adminlogin'] = true ;) und danach jeweils entsprechend des Wertes verzweigen. Damit ließe sich ggf. auch ein Menü steuern:
PHP:
Menüpunkt1
Menüpunkt2
if($_SESSION['adminlogin']) {
    Menüpunkt3;
}
.... usw. O.g. Beispiel kann auch zur unterschiedlichen Einbindung von Inhalten verwendet werden:
PHP:
if($_SESSION['adminlogin']) {
    include('aminseite');
} else {
    include('userseite');
}

In den jeweils unterschiedlichen Scripten prüfst Du dann immer nur den Wert der Sessionvariable. Wenn Du allerdings der einzige Admin bist und das Ganze nur zur Systemwartung brauchst, könnte man drüber nachdenken, den Bereich z.B. auszulagern und über einen geschützten Ordner (.htaccess) per Hand aufzurufen.

.... Möglichkeiten gibt's viele

Greetz
ckw
 
Zurück