tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
396
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Hallo,

    ich habe eine Klasse mit folgender Login Funktion:

    PHP-Code:
     function login($email$password){
     
      
    $value "COUNT(USER_ID)";
     
      
    $sql "SELECT $value 

                FROM user 
                
                WHERE EMAIL='"
    .htmlentities($email)."' && PWD='".htmlentities(md5($password))."'";
     
       
    $query mysql_query($sql);
      
       
    $count mysql_fetch_row($query);

        if(
    $count[0] > 0){
        
         
    $value "*";
         
         
    $query mysql_query($sql);
         
           while(
    $user mysql_fetch_object($query)){
        
           
    $user_id         $user->USER_ID
           
           
    $user_status     $user->STATUS;
        
           }
           
                   
           if(
    $user_status == 1){
            
             
    // ERROR : USER NOCH NICHT AKTIVIERT
            
            
    }else{
            
              
    $_SESSION['user_id']    = $user_id;      
              
              
    header('Location: home.tpl');
            
            }
      
        }else{
        
         
    header('Location: signup.tpl');
      
        }
     
     } 
    Leider wird die User ID nicht in der Session gespeichert. Was mache ich falsch?

    Gruß
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    item: Du musst nicht das $sql 2 mal hintereinander mit mysql_query() öffnen. Einmal reicht.

    item: Ist die Session gestartet?

    item: Kommt der Code in den entsprechenden Schleifen-Abschnitt wo die userid der Session zugewiesen wird?
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Du musst nicht das $sql 2 mal hintereinander mit mysql_query() öffnen. Einmal reicht.
    ok

    Ist die Session gestartet?
    ja in der index.php

    Kommt der Code in den entsprechenden Schleifen-Abschnitt wo die userid der Session zugewiesen wird?
    Was meinst du damit?
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Bist du sicher, dass dein Test in die folgende Schleife rein kommt?
    Ansonsten prüf das mal mit einem echo()
    PHP-Code:
            }else{
            
              
    $_SESSION['user_id']    = $user_id;      
              
              
    header('Location: home.tpl');
            
            } 
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Hm, also wenn ich es so schreibe dann klappt's... nur jetzt hab ich wieder 2 queries drin :/

    PHP-Code:
     function login($email$password){
     
      
    $value "COUNT(USER_ID)";
     
      
    $sql "SELECT $value 

                FROM user 
                
                WHERE EMAIL='"
    .htmlentities($email)."' && PWD='".htmlentities(md5($password))."'";
     
       
    $query mysql_query($sql);
      
       
    $count mysql_fetch_row($query);

        if(
    $count[0] > 0){
        
         
    $value "*";
         
         
    $sql "SELECT $value 

                FROM user 
                
                WHERE EMAIL='"
    .htmlentities($email)."' && PWD='".htmlentities(md5($password))."'";
         
         
    $query mysql_query($sql);
         
           while(
    $user mysql_fetch_object($query)){
        
            
    $user_id         $user->USER_ID
           
            
    $user_status     $user->STATUS;
        
           }
           
                   
           if(
    $user_status == 1){
            
             
    // ERROR : USER NOCH NICHT AKTIVIERT
            
            
    }else{
            
              
    $_SESSION['user_id']    = $user_id;
            
            }
      
        }else{
        
         
    header('Location: signup.tpl');
      
        }
     
     } 
     

Ähnliche Themen

  1. Session-Variablen werden nicht gespeichert
    Von Paspirgilis im Forum PHP
    Antworten: 7
    Letzter Beitrag: 06.08.09, 12:38
  2. Antworten: 2
    Letzter Beitrag: 06.05.09, 11:30
  3. Antworten: 18
    Letzter Beitrag: 30.11.08, 20:04
  4. Antworten: 1
    Letzter Beitrag: 25.10.05, 14:24
  5. Session wird nicht gespeichert
    Von h-brock im Forum PHP
    Antworten: 1
    Letzter Beitrag: 09.02.04, 22:09