![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 30.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Od kilku dni robię swoją stronę (grę rpg) mam już zrobioną rejestrację, logowanie, i kilka innych rzeczy. Chcę zrobić coś takiego, że jak się logujesz, wpiszesz poprawnie Login i hasło to cię przenosi do strony na którą można weść jak się jest zalogowanym, jeśli nie jesteś zalogowany to przenosi cię do logowanie. I to jest moje pytanie ja to można zrobic głowiłem się nad tym sporo czasu, pomyślałem, żeby tutaj użyc sesji ($_SESSION['zalogowany']=1; $_SESSION['user']=$l; ) czy jakoś tak. Proszę o pomoc Oto mój kod logowania : CODE ob_start();
require_once('./config.php'); // załaczamy plik config.php session_start(); function usun($data){ GLOBAL $dbc; if (ini_get('magic_quotes_gpc')){ $data = stripslashes($data); } return mysql_real_escape_string($data, $dbc); } if (isset($_POST['submit'])){ if (empty($_POST['login'])){ $message .= 'Nie podałeś loginu '; $l = FALSE; }else{ $l = usun($_POST['login']); } if (empty($_POST['haslo'])){ $message .= 'Nie podałeś hasła '; $h = FALSE; }else{ $h = usun($_POST['haslo']); } if ( $l && $h ){ $query = "SELECT username, access FROM user WHERE username='$l' AND haslo=password('$h')"; $result = mysql_query($query); $row = mysql_fetch_array ($result, MYSQL_ASSOC); if($row){ session_start(); $_SESSION['username'] = $row['username']; $_SESSION['access'] = $row['access']; $_GET['cmd'] = 'ok'; header ("Location: start.php"); // przekierowuje nas na jaka strone chcemy }else{ $message .= 'Błędne hasło lub login '; } mysql_close(); }else{ $message .= 'Spróbuj jeszcze raz'; } { $_SESSION['zalogowany']=1; $_SESSION['user']=$l; } } ob_end_flush(); ?> Ten post edytował phonnix 30.07.2008, 20:51:20 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 13 Dołączył: 20.03.2007 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cytat czyli "1" oznacza, że jestem zalogowany, ale skąd może to wiedzieć skrypt? Nigdzie nie pisałem, że tak ma być Wiem ze nie pisales. Natomiast wartosc tej zmiennej jest ustawiana podczas logowania. Napisalem ci warunek:
Musisz dopisac sobie funkcje login(), ktora sprawdzi tobie czy dane podane przez uzytkownika zgadzaja sie z danymi w bazie. Jesli tak funkcja musi zwrocic ci true w innym wypadku false. Mozesz do tej funkcji przekazac parametry login i haslo. Pobierz i/lub ustaw ścieżkę zapisu bieżącej sesji. Polecam przetestowanie. W tym katalogu zapisze ci sie plik sesji. Otworz go sobie i zobacz co sie zapisalo. Podpowiem ze, jest to forma zserializowana, taki sam efekt uzyskalbys stosujac funkcje serialize() na jakiejs zwyklej zmiennej. Na co niektorych serwerach, szczegolnie darmowych, warto a nawet trzeba to stosowac, kwestia bezpieczenstwa, doczytaj sobie w necie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 03:39 |