OK przechodzac do sedna sprawy... napisalem sobie skrypt logowania, ktory coprawda loguje do odpowiedniej strony czyli w moim przypadku member.php z wyswietleniem danych. Z tym ze loguje blednie bo loguje na ostaniego zarejestrowanego lub recznie dodanego do bazy danych usera...
Czyli przyklad: logujac sie na dane:
Login: demo | Haslo: demo123
Nie loguje na powyzsze dane tylko loguje na ostaniego usera w bazie danych czyli w tym przypadku na konto:
Login: test | Haslo: zazaza
Dodam takze ze wyswietlajac sobie
otrzymuje po zalogowaniu na dane konto prawidlowy wynik sesji zapisanej w postaci tablicy
oto pliki:
Wyeksportowana tabela "users"
-- -- Struktura tabeli dla `users` -- CREATE TABLE IF NOT EXISTS `users` ( `user_id` int(10) NOT NULL AUTO_INCREMENT, `username` varchar(25) DEFAULT NULL, `password` varchar(40) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `access_lvl` tinyint(1) DEFAULT NULL, `user_active` tinyint(4) DEFAULT NULL, `first_name` varchar(50) DEFAULT NULL, `last_name` varchar(50) DEFAULT NULL, `create_date` datetime DEFAULT NULL, `modified_date` datetime DEFAULT NULL, PRIMARY KEY (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; -- -- Zrzut danych tabeli `users` -- INSERT INTO `users` (`user_id`, `username`, `password`, `email`, `access_lvl`, `user_active`, `first_name`, `last_name`, `create_date`, `modified_date`) VALUES (1, 'admin', '5f4dcc3b5aa765d61d8327deb882cf99', 'admin@demo.pl', 5, 1, 'admin', 'admin', '2009-12-10 12:30:57', '2009-12-11 12:31:00'), (4, 'demo', '62cc2d8b4bf2d8728120d052163a77df', 'demo@demo.pl', 1, 1, 'demo', 'demo', '2009-12-10 12:31:38', '2009-12-11 12:31:40'), (5, 'test', 'bbe7ff82787d6e9fd99ea296a4a76f44', 'test@demo.pl', 1, 1, 'test', 'test', '2009-12-12 00:19:25', NULL);
login.php
<?php /*---------------------------------------------------------*/ require_once('./system/config_system.php'); include_once("./languages/$site_lang/lang.php"); $smarty = new Smarty(); // $smarty->compile_check = true; // $smarty->debugging = true; } // sprawdzamy czy user jest juz zalogowany // jesli zostanie nacisniety przycisk "Zaloguj" $username = $_POST["username"]; $password = $_POST["password"]; // sprawdzamy czy wszystkie dane zostaly podane $smarty->assign("error", ERROR_WYPELNIJ_POLA); // jezeli wszystkie dane wprowadzone... } else { // filtrujemy dane // kodujemy haslo // sprawdzamy czy istnieje uzytkownik z takim loginem i haslem $result = mysql_query("SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . $password . "'"); // jesli user nie istnieje lub bledne dane $smarty->assign("error", ERROR_BRAK_USERA_LUB_ZLE_DANE); // jesli tak... } else { // ustawianie sesji - uzytkownik jest zalogowany $_SESSION["logged"] = true; $smarty->assign("logged", 1); // przekierowanie oznaczajacego poprawne logowanie // wyswietlenie komunikatu oznaczajacego poprawne logowanie //$smarty->assign("success", SUCCESS_LOGOWANIE_OK); } } } } $smarty->display('login.tpl'); /*-----------------------------------------------------------*/ ?>
member.php
<?php /*---------------------------------------------------------*/ require_once('./system/config_system.php'); include_once("./languages/$site_lang/lang.php"); $smarty = new Smarty(); // $smarty->compile_check = true; // $smarty->debugging = true; } else { //Istniejaca sesja user $smarty->assign("logged", 1); // zapytanie do bazy // Pętla wyswitlajaca wyniki pobane z bazy z limitem okreslonym $users["user_id"] = $row["user_id"]; $users["username"] = $row["username"]; $users["email"] = $row["email"]; $users["first_name"] = $row["first_name"]; $users["last_name"] = $row["last_name"]; $users["create_date"] = $row["create_date"]; } $smarty->assign("user", $users); } } $smarty->display('member.tpl'); // Wyswietl wynik w TPL /*---------------------------------------------------------*/ ?>
login.tpl
{if $error} {/if} <form action="login.php" method="post" id="signupForm" class="contactform"> <ol> <li> <input type="text" id="username" name="username" class="text" /> </li> <li> <input type="password" id="password" name="password" class="text" /> </li> <li class="buttons"> <input name="submit" type="submit" value="Zaloguj" /> </li> </ol> </form>
member.tpl
{if $logged} {/if}
Czy wogole ogolnie waszym zdaniem dobrze zrozumialem to co wyczytalem...

Co zle robie nie mam juz doslownie pomyslu... A jestem taka osoba ze nie poddaje sie wiec udaje sie tutaj...

Z gory dziekuje za pomoc
