#1 5. Mai 2011 Login von einem CMS Zugriff Fehler Hallo, habe ein CMS Gefunden und dort ist wahrscheinlich die Logindatei Problematisch Programmiert denn wenn man sich mal einloggt bleibt er paar min drin halt die sitzung wenn die mal abläuft Fliegt man raus ist ganz okai, aber danach kommt man nicht mehr rein man kann sich nicht einloggen der sagt immer zugriff verweigert irgendwann im Tage klappt es wieder kann jemand sagen woran es liegen kann ? Habe die login datei mal hier drin.. PHP: <? PHP require( "global_head.php" ); unset( $_GET [ 'user_pw' ], $_GET [ 'user_name' ], $user_pw , $user_name ); $tpl -> get ( "message" , "message" ); $password = md5 ( addslashes ( strip_tags ( $_POST [ 'user_pw' ]))); $username = addslashes ( strip_tags ( $_POST [ 'user_name' ])); //Prüft ob Userdaten richtig sind $proof_login = $db -> query ( "SELECT userid, username, password, rights FROM user WHERE username=' $username ' AND password=' $password '" ); $log = $db -> fetch_array ( $proof_login ); $is_there_any_user = $db -> num_rows ( $proof_login ); //Prüft, ob schon eine Session besteht //Damit sich nicht 2 gleichzeitig mit einem Account einloggen $proof_session = $db -> query ( "SELECT userid FROM sessions WHERE userid='" . $log [ 'userid' ]. "'" ); $is_there_any_session = $db -> num_rows ( $proof_session ); if( $is_there_any_user != 0 && $is_there_any_session == 0 ) { $_SESSION [ 'login' ] = TRUE ; $_SESSION [ 'user_id' ] = $log [ 'userid' ]; $_SESSION [ 'user_name' ] = $log [ 'username' ]; $_SESSION [ 'user_rights' ] = $log [ 'rights' ]; $time = time (); $session_id = session_id (); $new_session = $db -> query ( "INSERT INTO sessions (userid,sid,time,rights) VALUES('" . $log [ 'userid' ]. "',' $session_id ',' $time '," . $log [ 'rights' ]. ")" ); setcookie ( $log [ 'userid' ], $session_id ); $tpl -> set_var ( "headline" , $lang -> get ( "LANG_HEADLINE_LOGIN_RIGHT" )); $tpl -> set_var ( "message" , $lang -> get ( "LANG_MESSAGE_LOGIN_RIGHT" )); $tpl -> set_var ( "meta_refresh" , '<meta http-equiv="refresh" content="2; url=acp_index.php">' ); } else { $tpl -> set_var ( "headline" , $lang -> get ( "LANG_HEADLINE_LOGIN_FALSE" )); $tpl -> set_var ( "message" , $lang -> get ( "LANG_MESSAGE_LOGIN_FALSE" )); $tpl -> set_var ( "meta_refresh" , '<meta http-equiv="refresh" content="2; url=index.php">' ); } require( "global_foot.php" ); ?> Danke + Multi-Zitat Zitieren
#2 5. Mai 2011 AW: Login von einem CMS Zugriff Fehler was kommt den bei PHP: print_r ( $is_there_any_user ); print_r ( $is_there_any_session ); kann es sein, dass die session in der datenbank nicht entfernt wird, wenn man sich ausloggt? $is_there_any_session muss == 0 sein. sonst entferne die && anweisung PHP: if( $is_there_any_user != 0 && $is_there_any_session == 0 ) in if( $is_there_any_user != 0 ) ... + Multi-Zitat Zitieren