Session Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Session Problem

    Ich habe ein login gebaut, aber leider läuft es nicht so wie ich will.

    login.php:
    PHP-Code:
    <?php

    // Load config file.
    require('conf.php');


    // Aktionen je nach übergebenem Parameter durchführen
    switch ($cmd) {

       case 
    "login":

          
    $sql"SELECT * FROM tbl_users where benutzer='$username'";
          
    $result mysql_query($sql);
          
    $row =  mysql_fetch_array($result);

          
    // Benutzername und Passwort checken
          
    if ($row['benutzer']==$username AND $row['passwort']==md5($password2)):

             
    // Session-Variablen des User setzen
             
    $_SESSION['valid'] = true;
             
    $_SESSION['user'] = $username.",".$row['u_id'];


             
    // Rechte des Users aus Datenbank auslesen
             
    $sqleingabe="select db_id, gr_id from tbl_rechte where u_id='".$row["u_id"]."'";
             
    $result1=mysql_query($sqleingabe);


             
    // Rechte auf die verschiedenen Datenbanken
             // in Session Variablen ablegen
             
    while ($PermissionRow mysql_fetch_array($result1)) {

                
    $_SESSION["DB_$PermissionRow[0]"] = "1,".$PermissionRow[1];

                if (
    $PermissionRow[1]==5): 
                   
    $_SESSION["is_su"] = 1;
                 endif;
                
                if (
    $PermissionRow[1]==3):
                   
    $_SESSION["is_su"] = 3;
                 endif;
                if (
    $PermissionRow[1]==4):
                   
    $_SESSION["is_su"] = 4;
                 endif;
             }

              
    // Zur Datenbankseite weiterleiten
            
    $url="$first_page";
            
    session_register("url");
            
    header("location: $url");
    //        header("Location: $first_page?".SID);
            //     header("Location: $first_page?PHPSESSID=".session_id());
             
    exit;

          else:

             
    header("location: $login_page?cmd=invalid");
             exit;

          endif;

          break;

       case 
    "unauth":
          
    session_destroy();
          
          
    print_header();
          echo 
    "<center></center>";
          
    print_login();
          
    print_footer();
          break;

       case 
    "invalid":
          
    print_header();
          echo 
    "<center><font class=\"z11fg\">$invalid_username_password</font></center><hr>";
          
    print_login($username);
          
    print_footer();
          break;

       case 
    "logout":
          
    session_destroy();
        
    //  system("rm -rf ../../tmp");
          
    print_header();
          echo 
    "<center><font class=\"z11fg\">$logged_out</font></center><hr>";
          
    print_login();
          
    print_footer();
          break;

       default:
          
    print_header();
          
    print_login($username);
          
    print_footer();
          break;
    }

    ....

    config.php:
    PHP-Code:
    <?php

    // 20 Minuten Lebenszeit    
    ini_set("session.gc_maxlifetime"1200);    
    // 50% Wahrscheinlichkeit    
    ini_set("session.gc_probability"50);

    // Set Access to Session Variables
    @session_start();

    // Set Database Connect
    //mysql_connect("localhost", "", "");
    //mysql_select_db("xxx_de_db");
    mysql_connect("localhost""loginname""passwort");
    mysql_select_db("datenbank");


    // Set the URL of the firstpage
    $first_page "../news/news.php";

    // Sets the URL of the login page.
    $login_page "../login/login.php";

    // Set to true to enable logging, false to disable.
    $log_login  true;

    ....

    Es wird zwar die news.php aufgerufen, aber z.B. der Wert "valid" ist nicht "1".
    Kann es sein, dass die SID nicht übergeben wird? Oder wo liegt der Fehler?
    Zuletzt geändert von Gilligan; 28.06.2006, 21:20.

  • #2
    Re: Session Problem

    Regeln lesen und umsetzen bitte.

    Kann es sein, dass die SID nicht übergeben wird?
    Na hat er's denn vielleicht mal überprüft, wenn ihm dieser Gedabke schon selbst kommt ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wie kann ich das denn überprüfen?
      Das der valid Wert nicht "1" ist habe ich schon überprüft.

      Bei mir lokal (PHP 5.0.4) läuft das ganze ohne Probleme, aber online funzt das überhaupt nicht (weder mit PHP 4.3.2 noch mit 4.3.10)
      Zuletzt geändert von Gilligan; 28.06.2006, 21:45.

      Kommentar


      • #4
        Sieht arg nach register_globals=Off aus
        Und das sollte auch so bleiben!!
        Zuletzt geändert von combie; 28.06.2006, 23:33.
        Wir werden alle sterben

        Kommentar

        Lädt...
        X