Benutzereinstellung2

Aus der Datenbank.
PHP:
<?php  
session_start ();  
if (!isset ($_SESSION["user_id"]) && $user_Status=="GL")  

{  
  header ("Location: login_sekretariat.php");  
}  

?>
Wenn ich dieses Script mir ankucke, wird $user_Status nirgends gefüllt. Deswegen frage ich wo $user_Status herkommt. Dass der Status in der Datenbank steht ist mir auch klar.
 
PHP:
<?php
$sql = "select id, status from benutzerdaten where id = $_GET['userid'];"; 

//$_GET is nur ne möglichkeit... irgendwo muss sich ja jemand eingeloggt haben... d.h. die userid sollte bekannt sein...

//danach standard:
        $rs	= mysql_query($sql) or die ("Fehler bei DB Zugriff".mysql_error());
        $row = mysql_fetch_array($rs);
	echo "status: ".row[1];
?>
 
Zuletzt bearbeitet:
Bin immer noch nicht weit gekommen :(


Ich hab noch diesen Script hier:

PHP:
<?php  
session_start ();  
if (!isset ($_SESSION["user_id"]))  
{  
  header ("Location: Intranet B+S.htm");  
}  
?>

Also mit 2 if Bedingungen müsste es doch möglich sein.. dass zuerst kontrolliert wird ob der Benutzer angemeldet ist, und danach ob er im Status "GL" hat..

Hat jemand ne Idee?
 
Hi,
vielleicht meinst du das so:

PHP:
<?php  

if ( !isset ($_SESSION["user_id"]) && $user_Status != "GL" )  {

   echo "Benutzer ist nicht eingeloggt!";

}else{ 

  header ("Location: Intranet B+S.htm");  

}  
?>

Warum willst du es in 2 if-Abfragen machen, geht doch auch mit einer?
Sonnst erkläre mal bitte wo das problem genauer liegt?
 
Zuletzt bearbeitet:
Andere Variante:
PHP:
if( isset( $_SESSION["user_id"] ) )
{  

    switch( isset( $user_Status ) )
    {
        case 'GL':
            header( 'location: seite_fuer_gl.php' );
            break;
        default
            header( 'location: seite_fuer_alle_anderen.php' );
    }

}
Wichtig ist eigendlich nur, dass $user_Status mit einem Wert aus der Datenbank gefüllt wird. Ich denke mal daran scheiterst du im moment?
 
Also, Script von Bluebo:

PHP:
<?php  

if ( !isset ($_SESSION["user_id"]) && $user_status != "GL" )  {

   echo "Benutzer ist nicht eingeloggt!";

}else{ 

  header ("Location: Intranet B+S.htm");  

}  
?>

In allen GL Seiten steht „Benutzer ist nicht eingeloggt“ obwohl er angemeldet ist..
Auch wenn ich im Status kein GL hab komme ich hinein..



Script loomes:

PHP:
if( isset( $_SESSION["user_id"] ) ) 
{   

    switch( isset( $user_Status ) ) 
    { 
        case 'GL': 
            header( 'location: mitarbeiter_details.php' ); 
            break; 
        default 
            header( 'location: Intranet B+S.htm' );  //line 13
    } 

}

Hab auch mit diesem Script hier versucht. Kam nur eine Fehlermeldung:
Parse error: syntax error, unexpected T_STRING, expecting ':' or ';' in C:\xampp\htdocs\XXX on line 13
 
Hab jetzt so gemacht:

Diesen Script hier habe ich in allen Seiten eingefügt die ALLE anschauen können:
PHP:
<?php  
session_start ();  
if (!isset ($_SESSION["user_id"]))  
{  
  header ("Location: Intranet B+S.htm");  
}  
?>

Und diese hier in Seiten die nur Benutzer mit dem Status „GL“.
Geändert hat sich aber nicht vieles.. ich kann trotzdem auf die Seite zugreifen wenn ich nicht GL bin..
Komisch ist, wenn ich auf diese Seite klicke, und danach auf die Seiten die alle sehen können, werde ich auf Intranet B+S.htm weitergeleitet.. aber Seiten mit der untenstehenden Befehle kann ich anschauen..
Was mache ich denn hier falsch?

PHP:
<?php

session_start ();  
if( isset( $_SESSION["user_id"] ) )  
{    

    switch( isset( $user_status ) )  
    {  
        case 'GL':  
            header( 'location: mitarbeiter_details.php' );  
            break;  
        default:  
            header( 'location: Intranet B+S.htm' );  
    }  

}  
?>
 
PHP:
<?php  
$status = mysql_fetch_array(mysql_query("SELECT Status FROM tabelle WEHRE ID = ".$_SESSION["user_id"].""));


if ( !isset ($_SESSION["user_id"]) && $status['Status'] != "GL" )  {

   echo "Benutzer ist nicht eingeloggt!";

}else{ 

  header ("Location: Intranet B+S.htm");  

}  
?>
 
Zurück