Drukowana wersja tematu

Kliknij tu, aby zobaczyæ temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ Logowanie [SESJE] ;-(

Napisany przez: <?Pocz±tkuj±cy?> 5.01.2005, 21:33:56

Witam, mam maly problem ;-)
A mianowicie, posiadam skrypt logowania 'oparty na sesji'. Niby wszystko jest okey, logowanie przechodzi pomyslnie. Ale kiedy powiedzmy zaloguje sie i klikne w 'inny link' - pojawia mi sie ponownie formularz do zalogowania sie, i tak w kolko, zaloguje sie, klikne w linka i ponownie musze sie zalogowac. ;/ Nie mam pojecia, co zrobic aby po zalogowaniu sie, nie pojawial mi sie wiecej formularz [po kliknieciu na jakis tam link] - az do Wylogowania sie winksmiley.jpg

Skrypt wyglada tak: [login.php]

  1. <?
  2. http://www.php.net/session_start();
  3. include(&#092;"../include/config.php\");
  4. include(&#092;"../include/style_css.php\");
  5. if($_GET['akcja']==('wyloguj'))
  6. {
  7. $_SESSION['login']=('');
  8. $_SESSION['haslo']=('');
  9. http://www.php.net/session_destroy();
  10. http://www.php.net/echo(&#092;"<html>n<head>n<meta http-equiv=\"content-language\" content=\"pl\">n<meta http-equiv=\"content-type\" content=\"text/html; charset=$kodowanie\">n<title>Panel administracyjny - $nazwa_serwisu</title>n</head>n<body bgcolor=\"$kolor_tla_strony\" topmargin=\"30\">n<div align=\"center\">n<table border=\"0\" cellpadding=\"3\" cellspacing=\"3\" class=\"text\">n<tr>n<td bgcolor=\"$kolor_tabeli_1\" align=\"center\" style=\"border: 1px $kolor_obramowania_tabeli solid\">Zosta³e¶ pomy¶lnie wylogowany.<br><br><- <a href=\"../index.php\"><b>Wstecz</b></a></td>n</tr>n</table>n</div>n</body>n</html>\");
  11. http://www.php.net/exit;
  12. }
  13. if(!http://www.php.net/isset($_POST['login'])||(!http://www.php.net/isset($_POST['haslo'])))
  14. {
  15. http://www.php.net/echo(&#092;"<html>n<head>n<meta http-equiv=\"content-language\" content=\"pl\">n<meta http-equiv=\"content-type\" content=\"text/html; charset=$kodowanie\">n<title>Panel administracyjny - $nazwa_serwisu</title>n<script language=\"javascript\" src=\"../scripts.js\"></script>n</head>n<body bgcolor=\"$kolor_tla_strony\" topmargin=\"30\">n<div align=\"center\">n<table border=\"0\" cellpadding=\"3\" cellspacing=\"3\" class=\"text\">n<form method=\"post\" name=\"form\">n<tr>n<td bgcolor=\"$kolor_tabeli_1\" align=\"center\" style=\"border: 1px $kolor_obramowania_tabeli solid\"><input type=\"text\" name=\"login\" value=\"Podaj login\" size=\"15\" maxlength=\"15\" onfocus=\"wyczysc(this)\" onblur=\"przywroc(this,'Podaj login')\" onchange=\"malymi=(this.form.login.value); this.form.login.value=(this.form.login.value.toLowerCase()); sprawdz_malymi(malymi)\" class=\"input\"><br><input type=\"password\" name=\"haslo\" value=\"has³o\" size=\"15\" maxlength=\"15\" onfocus=\"wyczysc(this)\" onblur=\"przywroc(this,'has³o')\" class=\"input\"><br><input type=\"submit\" value=\"Zaloguj\" class=\"input\"></td>n</tr>n</form>n</table>n</div>n</body>n</html>\");
  16. http://www.php.net/exit;
  17. }
  18. elseif(($_POST['login']==(&#092;"$login_admina\"))&&(md5($_POST['haslo'])==(\"$haslo_admina\")))
  19. {
  20. http://www.php.net/session_register(&#092;"login\");
  21. }
  22. else
  23. {
  24. http://www.php.net/echo(&#092;"<html>n<head>n<meta http-equiv=\"content-language\" content=\"pl\">n<meta http-equiv=\"content-type\" content=\"text/html; charset=$kodowanie\">n<title>Panel administracyjny - $nazwa_serwisu</title>n</head>n<body bgcolor=\"$kolor_tla_strony\" topmargin=\"30\">n<div align=\"center\">n<table border=\"0\" cellpadding=\"3\" cellspacing=\"3\" class=\"text\">n<tr>n<td bgcolor=\"$kolor_tabeli_1\" align=\"center\" style=\"border: 1px $kolor_obramowania_tabeli solid\">Poda³e¶ nieprawid³owy login i/lub has³o.<br><br><- <a href=\"javascript:history.back();\"><b>Wstecz</b></a></td>n</tr>n</table>n</div>n</body>n</html>\");
  25. http://www.php.net/exit;
  26. }
  27. ?>


Czy moglby mnie ktos nakierowac, co mam zrobic aby wszystko bylo okey? ;-)

Z gory wielkie dzieki exclamation.gif

Napisany przez: crash 5.01.2005, 21:37:18

By³o nie raz, poszukaj...

  1. <?php
  2. if($_SESSION['zalogowany']) ...
  3. ?>

Napisany przez: Wieviór 5.01.2005, 21:49:11

  1. <?php
  2.  
  3. $_SESSION['login']=('');
  4. $_SESSION['haslo']=('');
  5. http://www.php.net/session_destroy();
  6.  
  7. ?>


Mnie to dziwi. Najpierw usuwasz dane z sesji a potem kasujesz ca³± sesje? To tak jakby¶ najpierw z folderu usun±³ wszystkie pliki po kolei a potem usun±³ ca³y(pusty) folder. To chyba nie ma sensu...

A co do skryptu, daj w plik "zabezpieczonym" tak jak Crashu mniej wiêcej:

  1. <? if (!@_SESSION['login']) { nie zalogowany. } else { zalogowany }?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)