Ten oto prosty kod sprawdzający poprawność funkcji zachowuje się troszkę... dziwnie.
index.php:
<?php include("funct_session.php"); if(check_pass("jakis_login", "jakies_haslo")) { sess_make("jakis_login", "jakies_haslo"); } sess_destroy(); ?>
i plik z funkcjami, funct_session.php:
<?php function check_pass($login, $pass) { include("database.cfg.php"); $user = mysql_fetch_array(mysql_query("SELECT username FROM samgam_fantastyka.forum_users WHERE username='".$login."' AND user_password='".md5($pass)."'",$check_pass_grip)) or die(mysql_error()); if($user['username']=="") return false; else return $user['username']; } function sess_state() { include("config.cfg.php"); $user = mysql_fetch_array(mysql_query("SELECT sess_id, username FROM samgam_bestiariusz.session_users WHERE userna
me='".$_SESSION['username']."'", $session_state)); if($user['username']==$_SESSION['username']) return true; else return false; } } function sess_make($user, $pass) { include("config.cfg.php"); $_SESSION['sess_id'] = $sess_id; $_SESSION['username'] = $user; if(mysql_num_rows(mysql_query("SELECT * FROM samgam_bestiariusz.session_users WHERE username='".$user."'", $session_make))!=0) mysql_query("DELETE FROM samgam_bestiariusz.session_users WHERE username='".$user."'",$session_make) or die(mysql_error()); mysql_query("INSERT INTO samgam_bestiariusz.session_users VALUES('".$sess_id."', '".$_SESSION['username']."', '".md5($password)."', '".$time."')", $session_make) or die(mysql_error()); } function sess_destroy() { include("config.cfg.php"); if(mysql_num_rows(mysql_query("SELECT * FROM samgam_bestiariusz.session_users WHERE username='".$_SESSION['username']."'",$session_destroy))!=0) mysql_query("DELETE FROM samgam_bestiariusz.session_users WHERE username='".$_SESSION['username']."'",$session_destroy) or die(mysql_error()); } ?>
Sprawa wyglada tak, że skrypt działa w przypadku kiedy hasło jest Login i Hasło są rzeczywiście poprawne. Zaskakujące jest to, że gdy wpisze błędne hasło lub login, nie dzieje się... nic. Output jest czysty, biały, pusty. Nie wiem w czym leży problem. Próbowałem kilku rzeczy, od sprawdzenia poprawności zapytań MySQL po bardziej bezpośrednie moetody sprawdzania, ale wszystko zdaje się być Ok.
Za pomoc z góry dziękuję.
Pozdrawiam,
Gnomik