Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Logowanie działa, albo i nie
Forum PHP.pl > Forum > Przedszkole
Lampek
Witam
Problem polega na tym, że użytkownik klika na stronie zakładkę zaloguj poczym logouje się po za logowaniu wyswietla się komunika zalogowanao jak itd i wszystko jest okej ale kiedy chcę uruchomic funkcję któa sprawdza czy użytkownik jest zalogowany wywala mi komunikat że operacja nie możliwa nalezy być zalogowanym dzieje się tak np podczas wylogowania.
Kod skryptu logowania
  1. <?php
  2.  
  3.  
  4. require_once('funkcje_all.php');
  5. $nazwa_uz = $_POST['nazwa_uz'];
  6. $haslo = $_POST['haslo'];
  7.  
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10. <html xmlns="http://www.w3.org/1999/xhtml">
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  13. <title>Strona gl�wna</title>
  14. <link href="glowny.css" rel="stylesheet" type="text/css" media="screen" />
  15. </head>
  16. <body>
  17. <?php
  18. if ($nazwa_uz && $haslo) {
  19.  
  20. try {
  21. loguj($nazwa_uz, $haslo);
  22. $email=check_email($nazwa_uz);
  23. $ranga=check_ranga($nazwa_uz);
  24. $_SESSION['nazwa_uz'] = $nazwa_uz;
  25. $_SESSION['email'] = $email;
  26. $_SESSION['ranga'] = $ranga;
  27.  
  28.  
  29. tworz_naglowek_html('Zalogowano:');
  30. menu_top();
  31. tworz_header(); ?>
  32.  
  33. <div id="content2">
  34. <?php sprawdz_prawid_uzyt();
  35. if (sprawdz_prawid_uzyt()){echo '<center>Zalogowano jako '.stripslashes($_SESSION['nazwa_uz']).'.';echo '<br />';}?>
  36. </div>
  37.  
  38. <div id="content1">
  39. <?php tworz_menu(); ?>
  40.  
  41. </div>
  42. <?php tworz_stopke();
  43. }
  44. catch (Exception $e) {
  45.  
  46. tworz_naglowek_html('Problem:');
  47. menu_top();
  48. tworz_header();
  49. ?>
  50. <div id="content1">
  51. <?php
  52. tworz_menu();
  53. ?>
  54. </div>
  55. <div id="content2">
  56. <?php
  57. echo $e->getMessage();
  58. tworz_url('logowanie.php', 'Logowanie');
  59. ?>
  60. </div>
  61. <?php
  62. tworz_stopke();
  63. }
  64. }
  65.  
  66.  
  67. ?>
  68. </body>
  69. </html>


przykladowy kod np skrypt wylogowywania

  1. <?php
  2.  
  3.  
  4. require_once('funkcje_all.php');
  5. unset($_SESSION['nazwa_uz']);
  6. unset($_SESSION['email']);
  7. unset($_SESSION['ranga']);
  8.  
  9.  
  10. <?php
  11.  
  12.  
  13. tworz_naglowek_html('Wylogowanie');
  14. menu_top();
  15. tworz_header();
  16. ?>
  17. <div id="content1">
  18. <?php
  19. tworz_menu(); ?>
  20. </div>
  21. <div id="content2">
  22. <?php
  23. if (!empty($stary_uzyt)) {
  24. if ($wynik_niszcz) {
  25.  
  26. echo 'Wylogowano.<br />';
  27. tworz_url('logowanie.php', 'Logowanie');
  28. } else {
  29.  
  30. echo 'Wylogowanie niemożliwe.<br />';
  31. }
  32. } else {
  33. echo 'Użytkownik niezalogowany, tak więc brak wylogowania.<br />';
  34. tworz_url('logowanie.php', 'Logowanie');
  35. }
  36. ?>
  37. </div>
  38. <?php
  39.  
  40. tworz_stopke();
  41.  
  42. ?>
  43. </body>
  44. </html>
Rid
Dobra rada w skrypcie wylogowywania sprawdzaj także czy sesja istnieje.
bastard13
1) Skąd zmienne $stary_uzyt oraz $wynik_niszcz? Nigdzie ich nie deklarujesz?
2) Zamiast:
  1. unset($_SESSION['nazwa_uz']);
  2. unset($_SESSION['email']);
  3. unset($_SESSION['ranga']);

możesz zrobić:
  1. $_SESSION = array();

bo zakładam, że chcesz usunąć wszystkie dane z sesji.
Lampek
Ok naprawiłęm już smile.gif
Rid
To może by się Pan pochwali jak to zrobił,aby inni z podobnym problemem nie musieli zakładać tematu wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.