Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] SESJE I PANEL ADMINA
Mudkip
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 27.06.2004

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


Sluchajcie... jestem poczatkujący i próbuje stworzyć panel admina na podstawie sesji, coś jest jednak nie tak, bo po dobrym zalogowaniu i probie klikniecia w link (ten od jakis funkcji panelu) wyrzuca mnie zupełnie ;(

Mam wrażenie, że sesje nie przekazują dalej danych admina tzn loginu i hasla, wiec logiczne, że warunek nie zostanie spełniony i wyświetli formularz do logowania...

Pomoże mi ktoś ?

Tu zamieszczam kod :

  1. <?php
  2.  
  3. function start()
  4. { 
  5. echo('START
  6. <a href="admin.php?co=start">Start</a>
  7. <a href="admin.php?co=loginy">Loginy</a>
  8. <a href="admin.php?co=lista">Lista</a>
  9. <a href="admin.php?co=logout">Logout</a>
  10. ');
  11. }
  12.  
  13. function loginy()
  14. { 
  15. echo('LOGINY
  16. <a href="admin.php?co=start">Start</a>
  17. <a href="admin.php?co=loginy">Loginy</a>
  18. <a href="admin.php?co=lista">Lista</a>
  19. <a href="admin.php?co=logout">Logout</a>
  20. ');
  21. }
  22.  
  23. function lista()
  24. { 
  25. echo('LISTA
  26. <a href="admin.php?co=start">Start</a>
  27. <a href="admin.php?co=loginy">Loginy</a>
  28. <a href="admin.php?co=lista">Lista</a>
  29. <a href="admin.php?co=logout">Logout</a>
  30. ');
  31. }
  32.  
  33. function logout()
  34. {
  35. session_unset ( "userid" ); 
  36. session_unset ( "password" );
  37. echo "Wylogowano";
  38. }
  39.  
  40. echo '<meta
  41. http-equiv=Content-Type
  42. content="text/html; charset=UTF-8">';
  43. if ($userid == "") {
  44. print "<form action=$PHP_SELF method="post"><table align=center width="590"><tr><td colspan=2><b>Panel Administratora</b></td></tr>";
  45. print "<tr><td><b>Login:</b></td><td><input type=text name=userid></td></tr>";
  46. print "<tr><td><b>Hasło:</b></td><td><input type=password name=password></td></tr><tr><td> </td><td><input type=submit value="Zaloguj"></td></tr></form></table>1";
  47.  
  48.  } elseif ( ISSET ( $userid ) ) {
  49.  
  50. $link =mysql_connect("localhost", "login","haslo");
  51. if (! $link){
  52. exit();
  53. }
  54. if (!mysql_select_db ("mojabaza", $link) ) {
  55. exit ();
  56. }
  57. $query="SELECT * FROM helpdesk_admin WHERE login='".$userid."'";
  58. $result=mysql_query($query);
  59. $rl = mysql_fetch_array($result);
  60. $useridbaza = $rl[login];
  61. $passwordbaza = $rl[haslo];
  62.  
  63. if (($password == $passwordbaza) && ($userid == $useridbaza)) {
  64.  
  65. session_register("userid");
  66. session_register("password");
  67.  
  68. echo "zalogowany!";
  69.  
  70. $co=$_GET['co'];
  71. if ($co == 'loginy') {loginy();}
  72. elseif ($co == 'lista') {lista();}
  73. elseif ($co == 'logout') {logout();}
  74. else {start();}
  75.  
  76. } else {
  77. print "<form action=$PHP_SELF method="post"><table align=center width="590"><tr><td colspan=2><b>Panel Administratora</b></td></tr>";
  78. print "<tr><td><b>Login:</b></td><td><input type=text name=userid></td></tr>";
  79. print "<tr><td><b>Hasło:</b></td><td><input type=password name=password></td></tr><tr><td> </td><td><input type=submit value="Zaloguj"></td></tr></form></table>";
  80. }
  81. }
  82. ?>


Ten post edytował Mudkip 8.10.2006, 20:07:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
wipo
post
Post #2





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


zamiast sessiom_register wpisz $_SESSION['zmienna']=wartosc;
Go to the top of the page
+Quote Post
Mudkip
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 27.06.2004

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


ok sprobuje, wyczytalem tez ze musze recznie dodawac do linkow id sesji, czy to prawda ?
Go to the top of the page
+Quote Post
wipo
post
Post #4





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


ja nie używam jak nie trzeba (jeżeli chodzi Ci o session_id to jest dodawane automatycznie)
Go to the top of the page
+Quote Post
Mudkip
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 27.06.2004

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


niestety nie dziala ;/
Go to the top of the page
+Quote Post
1010
post
Post #6





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

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


A czy masz wogóle gdzieś jakieś sprawdzanie czy jest sesja? Bo przeleciałem kod i nie zauważyłem
sprawdzaj takim kodem:
  1. <?php
  2. if(isset($_SESSION['nazwa_sesji'])){
  3. print "jest";
  4. }else
  5. {
  6.  print "nie ma";
  7. }
  8. ?>
Go to the top of the page
+Quote Post
Mudkip
post
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 27.06.2004

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


Troche skorygowalem , ale dalej nie dziala

  1. <?php
  2.  
  3. if (  ( ISSET($_SESSION['userid']) ) && ( ISSET ($_SESSION['password']) )  ) 
  4. {
  5. $userid=$_SESSION['userid'];
  6. $password=$_SESSION['password'];
  7. echo "pobrano z sesji";
  8. }
  9.  
  10.  
  11. function start()
  12. { 
  13. echo('START
  14. <a href="admin.php?co=start">Start</a>
  15. <a href="admin.php?co=loginy">Loginy</a>
  16. <a href="admin.php?co=lista">Lista</a>
  17. <a href="admin.php?co=logout">Logout</a>
  18. ');
  19. }
  20.  
  21. function loginy()
  22. { 
  23. echo('LOGINY
  24. <a href="admin.php?co=start">Start</a>
  25. <a href="admin.php?co=loginy">Loginy</a>
  26. <a href="admin.php?co=lista">Lista</a>
  27. <a href="admin.php?co=logout">Logout</a>
  28. ');
  29. }
  30.  
  31. function lista()
  32. { 
  33. echo('LISTA
  34. <a href="admin.php?co=start">Start</a>
  35. <a href="admin.php?co=loginy">Loginy</a>
  36. <a href="admin.php?co=lista">Lista</a>
  37. <a href="admin.php?co=logout">Logout</a>
  38. ');
  39. }
  40.  
  41. function logout()
  42. {
  43. session_unset("userid");
  44. session_unset("password");
  45. echo "Wylogowano!";
  46. }
  47.  
  48. echo '<meta
  49. http-equiv=Content-Type
  50. content="text/html; charset=UTF-8">';
  51. if ((!ISSET($userid)) || (!ISSET($password))) { 
  52. print '<form action="admin.php" method="post"><table align=center width="590"><tr><td colspan=2>
  53. <b>Panel Administratora</b></td></tr>';
  54. print '<tr><td><b>Login:</b></td><td><input type=text name=userid></td></tr>';
  55. print '<tr><td><b>Hasło:</b></td><td><input type=password name=password></td></tr>
  56. <tr><td>&nbsp</td><td><input type=submit value="Zaloguj"></td></tr></form></table>';
  57.  
  58.  } else {
  59.  
  60. $link =mysql_connect("localhost", "login","haslo");
  61. if (! $link){
  62. exit();
  63. }
  64. if (!mysql_select_db ("baza", $link) ) {
  65. exit ();
  66. }
  67. $query="SELECT * FROM helpdesk_admin WHERE login='".$userid."'";
  68. $result=mysql_query($query);
  69. $rl = mysql_fetch_array($result);
  70. $useridbaza = $rl[login];
  71. $passwordbaza = $rl[haslo];
  72.  
  73. if (($password == $passwordbaza) && ($userid == $useridbaza)) {
  74.  
  75. $_SESSION['userid']=$userid;
  76. $_SESSION['password']=$password;
  77.  
  78. echo "wrzucono do sesji ||zalogowany!";
  79. $co=$_GET['co'];
  80. if ($co == 'loginy') {loginy();}
  81. elseif ($co == 'lista') {lista();}
  82. elseif ($co == 'logout') {logout();}
  83. else {start();}
  84.  
  85. } else {
  86. print '<form action="admin.php" method="post"><table align=center width="590"><tr><td colspan=2><b>
  87. Panel Administratora</b></td></tr>';
  88. print '<tr><td><b>Login:</b></td><td><input type=text name=userid></td></tr>';
  89. print '<tr><td><b>Hasło:</b></td><td><input type=password name=password></td></tr>
  90. <tr><td>&nbsp</td><td><input type=submit value="Zaloguj"></td></tr></form></table>';
  91. }
  92. }
  93. ?>


Ten post edytował Mudkip 9.10.2006, 20:24:06
Go to the top of the page
+Quote Post
Luke_Star
post
Post #8





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

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


co do dodawania do linków ID sesji to prawdopodobnie php nei jest skonfigurowany z "--enable-trans-sid" da sie to załatwic za pomoca funkcji "ini_set". Czasem dziala czasem nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A co do sprawdzania czy sesja istnieje czy nie polecam raczej zamiast "jest" lyb "nie ma" walnąc funkcje sprawdzania
  1. <?php
  2. function checkSession () {
  3.  if (ISSET($_SESSION['nazwa_sesji'])) {
  4. return 1;
  5. }
  6. else {
  7. return 0;
  8.  }
  9. }
  10. ?>


przydaje sie jak sie człowiek przyzwyczaja do obiektowego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Łatwo wtedy dobrac odpowiednia akcje i szybsza edycja jest

Ten post edytował Luke_Star 9.10.2006, 20:27:08
Go to the top of the page
+Quote Post
Mudkip
post
Post #9





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 27.06.2004

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


sluchajcie zrobilem sobie "markery" , zaraz po przetworzeniu formularza i po wystartowaniu sesji, w sesjach jeszcze nic nie ma, bo jeszcze nie sprawdzono z baza, ale juz po sprawdzeniu i ustawieniu do sesji, odpowiednich zmiennych, to czytam je :
  1. <?php
  2. $_SESSION['userid']=$userid;
  3. $_SESSION['password']=$password;
  4. echo "login:".$_SESSION['userid'];
  5. echo "haslo:".$_SESSION['password'];
  6. ?>


i mi wyswietla...

zauwazylem tez ze moze to byc spowodowane gubieniem sesji, jak daje zeby mi pokazywal moje session id to po kazdym odswiezeniu mam inne, nalezy tu jeszcze wspomniec ze ja mam Win Viste, zaraz lookne jak na moich innych kompach z winda xp

jak to jest? czy jezeli zmieni sie id sesji jakiegos uzytkownika to skasuja mu sie dane jego sesji? czyli inaczej mowiac czy normalne jest , ze po kazdym odswiezeniu strony mam inne session id ?

Ten post edytował Mudkip 10.10.2006, 17:45:55
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie można głośniej?

Cytat
czy jezeli zmieni sie id sesji jakiegos uzytkownika to skasuja mu sie dane jego sesji?

Najprościej rzecz ujmując - tak. To jest jak numerek w szatni - jeśli go zgubisz, nie będziesz mógł dostać się do swoich ubrań.

Cytat
czyli inaczej mowiac czy normalne jest , ze po kazdym odswiezeniu strony mam inne session id

Jeśli masz zablokowane ciasteczka i nie przekazujesz identyfikatora między stronami, to jest normalne. No bo skąd parser ma wiedzieć, jaki masz identyfikator?

Ten post edytował erix 10.10.2006, 19:33:17
Go to the top of the page
+Quote Post
Mudkip
post
Post #11





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 27.06.2004

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


no wlasnie, wiec sie dziwie, bo co kolejne odswiezenie strony to mam inne ses id, a cooki mam odblokowane, robilem nawet testy zeby mnie informowal jak cookie sa wysylane, ale nic nie slychac, inne cookie owszem, ale te moje do mnie nie dociera, nalezy tez wspomniec ze testuje na lycosie

XXXXXXXXXXXXXXXXXXXXXXXXXXX

Dobra ... temat do zamkniecia, wyglada na to , ze Lycos ma problemy z cookie no i z sesjami takze... postawilem swoj serwer i wszystko dziala ladnie i pieknie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

podsumowujac lycos gubil sid uzytkownika wiec bylo zamieszanie...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 19:59