Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z logowaniem i sesje
pozg
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.01.2006

Ostrzeżenie: (0%)
-----


mam taki skrypcik, ktory ma zalogowac uzytkownika, robi to jednakze przy przechodzeniu na podstrony kaze jeszcze raz sie logowac,a le przy odswiezaniu strony nie robi sie tak- to byl by pierwszy problem, drugi to ze session_unset() or die ("blad1"); zwraca blad1

dzieki

  1. <?php
  2. session_name("logowanie");
  3. if ($wyloguj == 1) {
  4. session_unset() or die ("blad1");
  5. session_destroy() or die ("blad2");
  6. header("Location: ind.php");
  7. } else {
  8. print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
  9. <title>paza wiedzy</title>
  10. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  11. <script LANGUAGE="JavaScript">
  12. function selecturl(s) { var gourl = s.options[s.selectedIndex].value; window.top.location.href = gourl; }
  13. </SCRIPT>
  14. </head><body>';
  15.  
  16.  
  17. include_once('funkcje.php');
  18. include_once('hasla.cfg');
  19. if ((isset($_POST['login']) and isset($_POST['haslo'])) or (isset($_SESSION['login']) and isset($_SESSION['haslo']))) {
  20. database_connect();
  21. if (isset($_POST['login']) and isset($_POST['haslo'])) {
  22. $result = mysql_query('SELECT prawa FROM uzytkownicy WHERE login="'.$_POST['login'].'" AND haslo="'.$_POST['haslo'].'"') or die ("$error");
  23. } elseif (isset($_SESSION['login']) and isset($_SESSION['haslo'])) {
  24. $result = mysql_query('SELECT prawa FROM uzytkownicy WHERE login="'.$_SESSION['login'].'" AND haslo="'.$_SESSION['haslo'].'"') or die ("$error");
  25. }
  26. // instrukcja ktora loguje uzytkownika
  27. if (mysql_num_rows($result) == 1) { // instrukcja wykonuje sie jesli dane podane sa poprawne
  28. print $_SESSION['login'] = $_POST['login'].'<br>';
  29. print $_SESSION['haslo'] = $_POST['haslo'].'<br>';
  30. unset($_POST['login']);
  31. unset($_POST['haslo']);
  32. print 'zalogowales sie <a href=?wyloguj=1>tutaj</a><br>prawa: '.$row->prawa;
  33. $row = mysql_fetch_object ($result);
  34. switch ($row->prawa) {
  35. case ("0") : // panel mlodszy uzytkownik
  36. include_once('mlodszy_uzytkownik/index_mlodszy_uzyt.php');
  37. break;
  38. //////////////////////////////////////////////////////////////
  39. case ("1") : // panel uzytkownika
  40. print 'panel uzytkownika';
  41. break;
  42. //////////////////////////////////////////////////////////////
  43. case ("2") : // panel administratora
  44. include_once('admin/panel_admin.php');
  45. break;
  46. //////////////////////////////////////////////////////////////
  47. default : print "$error"; }
  48.  
  49. } else { // instrukcja wykonuje sie jesli dane podane nie sa poprawne
  50. print 'bledne dane<br><br>';
  51. print "<form method=post>\n
  52. Podaj login:\n<input type=text name=\"login\"><br>\n
  53. Podaj haslo:\n
  54. <input type=password name=\"haslo\"><br>\n
  55. <input type=submit name=\"logowanie\" value=Zaloguj>\n
  56. </form>\n";
  57. }
  58.  
  59.  
  60.  
  61. } else {
  62. print "<form method=post>\n
  63. Podaj login:\n
  64. <input type=text name=\"login\"><br>\n
  65. Podaj haslo:\n
  66. <input type=password name=\"haslo\"><br>\n
  67. <input type=submit name=\"logowanie\" value=Zaloguj>\n
  68. </form>\n";
  69. }
  70.  
  71. }
  72. print '</body></html>';
  73. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pozg
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.01.2006

Ostrzeżenie: (0%)
-----


zmienlem to co mowiels, ale nadal wywala mnie przy przechodzeniu na podstrony (kazes sie logowac). moze cos zle zrobilem, zerknij jeszcze raz jak mozesz

  1. <?php
  2. session_name("logowanie");
  3.  
  4. // troche sposob wylogowywania
  5. if ($_GET[wyloguj] == 1) {
  6. $_SESION = array(); //Zniszcz zmienne
  7. session_destroy(); //Zniszcz sesje
  8. setcookie(session_name(),'',time()-3600,'/','',0); //Zniszcz cookie
  9. header("Location: inde.php");
  10. } else {
  11. print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
  12. <title>paza wiedzy</title>
  13. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  14. <script LANGUAGE="JavaScript">
  15. function selecturl(s) { var gourl = s.options[s.selectedIndex].value; window.top.location.href = gourl; }
  16. </SCRIPT>
  17. </head><body>';
  18.  
  19.  
  20. include_once('funkcje.php');
  21. include_once('hasla.cfg');
  22. print 'sesia: ';
  23.  print_r($_SESSION);
  24. print '<br>post: ';
  25. print_r($_POST);
  26. if ((($_POST['login']) and ($_POST['haslo'])) or (($_SESSION['login']) and ($_SESSION['haslo']))) {
  27. database_connect();
  28. // tak jak mowiels w jednym zapytaniu dwie mozliwosci zamiescielem za pomoca OR
  29. $result = mysql_query('SELECT prawa FROM uzytkownicy WHERE (login="'.$_POST['login'].'" AND haslo="'.$_POST['haslo'].'") OR (login="'.$_SESSION['login'].'" AND haslo="'.$_SESSION['haslo'].'")') or die ("$error b");
  30. // usunolem mysql_num_rows($result) == 1
  31. if (mysql_num_rows($result)) {
  32. // miales racje z przypisaniem moje niedopatrzenie
  33. $_SESSION['login'] = $_POST['login'].'<br>';
  34. $_SESSION['haslo'] = $_POST['haslo'].'<br>';
  35. unset($_POST['login']);
  36. unset($_POST['haslo']);
  37. print 'post po usunieciu: ';
  38. print_r($_POST);
  39. $row = mysql_fetch_object ($result);
  40. print 'zalogowales sie <a href=?wyloguj=1>tutaj</a><br>prawa: '.$row->prawa;
  41.  
  42. switch ($row->prawa) {
  43. case ("0") :
  44. include_once('mlodszy_uzytkownik/index_mlodszy_uzyt.php');
  45. break;
  46.  
  47. case ("1") :
  48. print 'panel uzytkownika';
  49. break;
  50.  
  51. case ("2") :
  52. include_once('admin/panel_admin.php');
  53. break;
  54.  
  55. default : print "$error"; }
  56. } else { 
  57. // z tym nic nie robilem 
  58. print 'bledne dane<br><br>';
  59. print "<form method=\"post\">\n
  60. Podaj login:\n
  61. <input type=\"text\" name=\"login\"><br>\n
  62. Podaj haslo:\n
  63. <input type=\"password\" name=\"haslo\"><br>\n
  64. <input type=\"submit\" value=\"Zaloguj\">\n
  65. </form>\n";
  66. }
  67.  
  68. } else {
  69. print "<form method=\"post\">\n
  70. Podaj login:\n
  71. <input type=\"text\" name=\"login\"><br>\n
  72. Podaj haslo:\n
  73. <input type=\"password\" name=\"haslo\"><br>\n
  74. <input type=\"submit\" value=\"Zaloguj\">\n
  75. </form>\n";
  76. }
  77. }
  78. print '</body></html>';
  79. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 16:55