Mam dość dziwny moim zdaniem problem. Tworzę sobie panel admina, jednak mam problem z logowaniem... aktualny (mocno uproszczony, bo szukam błędu) kod wygląda tak:
index.php
<?php try{ $admin = new admin; if($r->get_param('log')=='in'){ // echo $admin->check_form($r->get_param('login','post'),$r->get_param('password','post') ); $admin->check_form($_POST['login'],$_POST['password']); } elseif($admin->check_access()==true){ } else{ } } catch (exception $e){ } ?>
admin.class.php
<?php public function check_form($login,$password){ // $result = $this->db->execute("SELECT * FROM __admins WHERE login='".$login."' AND password='".$password."'"); // while($row = $this->db->row($result) ){ // self::give_access(); // } self::give_access(); } /*private */function give_access(){ $_SESSION['admin']='true'; return true; } public function check_access(){ return true; } else{ return false; } } ?>
jednak nawet w tak uproszczonym sposobie (bez sprawdzania loginu i hasla, i innych badziewi) cały czas wyświetla mi formularz logowania. gdy w admin.class dodam var_dump($_SESSION) to ładnie mi wyświetli dane o sesji- jednak jak w indexie wywala mi NULL :/ a przecież session to tablica superglobalna, więc z problemem z zasięgiem tu nie powinienem mieć problemu- nigdzie po drodze zadnych unsetow, session_destroyow itp nie uzywam- w czym wiec problem?