Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML]Menu dla zalogowanych i niezalogwanych, Jak wykonać skrypt na podstawie gotowego menu i grafik.
wickas
post
Post #1





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

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


Mam oto takie pionowe menu na stronie. Czy jest możliwe wyświetlenie po zalogowaniu na strone zamiast logowanie - Wylogowanie? Oraz przyporządkować mu skrypt wylogowania.
  1. [html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset= utf-8" />
  6. <link rel="stylesheet" type="text/css" href="strona1.css" />
  7. <title>Strona startowa - Szpital</title>
  8. </head>
  9. <body>
  10. <div id="pojemnik">
  11. <div id="nag">
  12. <div id="menu">
  13. <ul>
  14. <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna</a></li>
  15. <li><a href="konto.php" title="Zarządzanie kontem">Konto</a></li>
  16. <li><a href="baza.php" title="Baza danych leków">Baza Leków</a></li>
  17. <li><a href="rejestracja.php" title="Założenie konta">Rejestracja</a></li>
  18. <li><a href="logowanie.php" title="Zalogowanie się do konta">Logowanie</a></li>
  19. </ul>
  20. </div>
  21. </div>
  22. <div id="zawartosc"></div>
  23. <div id="stopka"></div>
  24. </div>
  25. </body>
  26. </html>


Ten post edytował wickas 20.01.2013, 15:37:40
Go to the top of the page
+Quote Post
sajegib
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


  1. if(isset($_SESSION['twoja_nazwa_zmiennej_sesyjnej'])){
  2. echo "Wyloguj"; // wiadomo z hrefem do pliku niszczacego sesje
  3. }
  4. else {
  5. echo "Logowanie";
  6. }


Ten post edytował sajegib 20.01.2013, 15:37:34
Go to the top of the page
+Quote Post
wickas
post
Post #3





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

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


Czy skrypt jest poprawny i ja coś namieszałem, czy też źle wykorzystałem przykład? Ponieważ póki co nic się nie zmieniło,loguje mnie przekierowuje na stronę główną ale nie zamienia logowanie na wylogowanie. Próbowałem rożnych kombinacji,bezskutecznie. Ktoś może poradzić gdzie umieścić ten warunek?
  1. [PHP]
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6. <meta http-equiv="content-type" content="text/html; charset= utf-8" />
  7. <link rel="stylesheet" type="text/css" href="strona1.css" />
  8. <title>Strona startowa - Szpital</title>
  9. </head>
  10. <body>
  11. <div id="pojemnik">
  12. <div id="nag">
  13. <div id="menu">
  14. <ul>
  15. <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna</a></li>
  16. <li><a href="konto.php" title="Zarządzanie kontem">Konto</a></li>
  17. <li><a href="baza.php" title="Baza danych leków">Baza Leków</a></li>
  18. <li><a href="rejestracja.php" title="Założenie konta">Rejestracja</a></li>
  19. <?php
  20. if(isset($_SESSION['login'])) // dostęp dla zalogowanego użytkownika
  21. {
  22. echo '<li><a href="wylogowanie.php" title="Wylogowanie się">Wylogowanie</a></li>';
  23. }
  24. else
  25. {
  26. echo '<li><a href="logowanie.php" title="Zalogowanie się">Logowanie</a></li>';
  27. }
  28. ?>
  29. </ul>
  30. </div>
  31. </div>
  32. <div id="zawartosc"></div>
  33. <div id="stopka"></div>
  34. </div>
  35. </body>
  36. </html>

[/php]
Go to the top of the page
+Quote Post
webspy
post
Post #4





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


przypisałeś do session login?

$_SESSION['login'] = $login;

Czy na stronie logowania masz session_start(); ?

sprawdź czy istnieje sesia -> echo $_SESSION['login'];

Go to the top of the page
+Quote Post
wickas
post
Post #5





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

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


Nie do końca wiem gdzie szukać(użyłem gotowca skryptu - nie jest to moja praca, stronka już tak), więc umieszczam skrypt logowania. Zresztą mam swiadomość ze jestem zerem z php w chwili obecje. Jakbym otrzymał wyjaśnienie co, skąd i po co zrozumiem to bardziej, a jeżeli pytał i denerwował swoją niewiedzą.
  1. [PHP]
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6. <meta http-equiv="content-type" content="text/html; charset= utf-8" />
  7. <link rel="stylesheet" type="text/css" href="strona1.css" />
  8. <title>Logowanie - Szpital</title>
  9. </head>
  10. <body>
  11. <div id="pojemnik">
  12. <div id="nag">
  13. <div id="status"> </div>
  14. <div id="menu">
  15. <ul>
  16. <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna</a></li>
  17. <li><a href="konto.php" title="Zarządzanie kontem">Konto</a></li>
  18. <li><a href="baza.php" title="Baza danych leków">Baza Leków</a></li>
  19. <li><a href="rejestracja.php" title="Założenie konta">Rejestracja</a></li>
  20. <?php
  21. if(isset($_SESSION['login'])) // dostęp dla zalogowanego użytkownika
  22. {
  23. echo '<li><a href="wylogowanie.php" title="Wylogowanie się">Wylogowanie</a></li>';
  24. }
  25. else
  26. {
  27. echo '<li><a href="logowanie.php" title="Zalogowanie się">Logowanie</a></li>';
  28. }
  29. ?>
  30. </ul>
  31. </div>
  32. </div>
  33. <center><form action="logowanie.php" method="post">
  34. <input type="hidden" name='wyslane' value="TRUE" />
  35. <div id="logowanie">
  36. <div id="log0"><p class="nalog">Login:</p></div><div id="log"><input class="input" type="text" name="login" /></div>
  37. <div id="pass0"><p class="nalog">Hasło:</p></div><div id="pass"><input class="input" type="password" name="haslo" size="20" maxlength="10"/></div>
  38. <div id="zaloguj"><input name="submit" class="button" type="submit" value="Zaloguj" /></div>
  39. </div>
  40. </form></center>
  41. <div id="stopka"></div>
  42. </div>
  43. </body>
  44. </html>
  45.  
  46. <?php
  47. include 'db.php'; // połączenie się z bazą danych
  48. $tabela = 'dane'; // zdefiniowanie tabeli MySQL
  49.  
  50. if (!isset($_SESSION['login'])) { // dostęp dla niezalogowanego użytkownika
  51.  
  52. if (isset($_POST['wyslane'])) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  53.  
  54. $login = $_POST["login"];
  55. $haslo = $_POST["haslo"];
  56.  
  57. $wynik=mysql_query("SELECT * FROM $tabela WHERE login_dane='$login' and haslo_dane='$haslo' and Status_dane=0");
  58. // jeżeli użytkownik zarejestrował się, a nie aktywował swojego konta, to wyświetla się komunikat
  59. if (mysql_num_rows($wynik) == 1) {
  60. $informacja = mysql_fetch_array($wynik);
  61. echo '<p class="tekst">Nie aktywowałeś/aś jeszcze swojego konta. Aby to zrobić wejdź w swoją skrzynkę odbiorczą, a następnie znajdź wiadmość z linkiem aktywacyjnym i aktywuj swoje konto</p>';
  62. } else {
  63.  
  64. // jeżeli wszystko jest dobrze, użytkownik się loguje
  65. $wynik=mysql_query("SELECT * FROM $tabela WHERE login_dane='$login' and haslo_dane='$haslo' and Status_dane=1");
  66.  
  67. if (mysql_num_rows($wynik) == 1) {
  68. $informacja = mysql_fetch_array($wynik);
  69. $_SESSION["login"] = $informacja["login"];
  70. $_SESSION["status"] = 1;
  71. header('Location: index.php');
  72. }
  73.  
  74. // jeżeli wszystko jest dobrze, użytkownik się loguje jako pracownik
  75. $wynik=mysql_query("SELECT * FROM $tabela WHERE login_dane='$login' and haslo_dane='$haslo' and Status_dane=2");
  76.  
  77. if (mysql_num_rows($wynik) == 1)
  78. {
  79. $informacja = mysql_fetch_array($wynik);
  80. $_SESSION["login"] = $informacja["login"];
  81. $_SESSION["status"] = 2;
  82. header('Location: index.php');
  83. } else
  84. {
  85. echo '<p class="tekst">Zostały wprowadzone nieprawidłowe dane</p>';
  86. }
  87. }
  88. mysql_close($polaczenie);
  89. }
  90.  
  91. } else {
  92. header('Location: index.php '); // zalogowany użytkownik zostaje przekierowany na stronę główną
  93. }
  94.  
  95. ?>
  96.  

[/php]

Ten post edytował wickas 20.01.2013, 16:55:03
Go to the top of the page
+Quote Post
webspy
post
Post #6





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


Wpisz sobie na tej stronie co przekierowuje (tam gdzie wkleiłeś kod ktory ma pokazywać zaloguj lub wyloguj)

  1.  
  2. <?
  3. //to na sam początek strony (na samą górę)
  4. ?>
  5. <?
  6. echo 'Login:'.$_SESSION['login']; //zobaczysz czy coś pokazuje czy istnieje session
  7.  
  8. if(isset($_SESSION['login'])) // dostęp dla zalogowanego użytkownika
  9. {
  10. echo '<li><a href="wylogowanie.php" title="Wylogowanie się">Wylogowanie</a></li>';
  11. }
  12. else
  13. {
  14. echo '<li><a href="logowanie.php" title="Zalogowanie się">Logowanie</a></li>';
  15. }
  16. ?>



Możesz nie mieć session bo w pliku z logowaniem przekierowuje zawsze na index wiec nie wiesz czy wszystko poszlo dobrze
Go to the top of the page
+Quote Post
wickas
post
Post #7





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

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


Wyświetliło mie się coś takiego - Notice: Undefined variable: _SESSION in C:\xampp\htdocs\szpital\index.php on line 26
  1. [PHP]
  2. <?
  3. //to na sam początek strony (na samą górę)
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  6. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  8. <head>
  9. <meta http-equiv="content-type" content="text/html; charset= utf-8" />
  10. <link rel="stylesheet" type="text/css" href="strona1.css" />
  11. <title>Strona startowa - Szpital</title>
  12. </head>
  13. <body>
  14. <div id="pojemnik">
  15. <div id="nag">
  16. <div id="menu">
  17.  
  18. <ul>
  19. <li><a href="index.php" title="Powrót do Strony głównej">Strona Główna</a></li>
  20. <li><a href="konto.php" title="Zarządzanie kontem">Konto</a></li>
  21. <li><a href="baza.php" title="Baza danych leków">Baza Leków</a></li>
  22. <li><a href="rejestracja.php" title="Założenie konta">Rejestracja</a></li>
  23. <li><a href="logowanie.php" title="Zalogowanie się">Logowanie</a></li>
  24. <?php
  25. echo 'Login:'.$_SESSION['login']; //zobaczysz czy coś pokazuje czy istnieje session
  26.  
  27. if(isset($_SESSION['login'])) // dostęp dla zalogowanego użytkownika
  28. {
  29. echo '<li><a href="wylogowanie.php" title="Wylogowanie się">Wylogowanie</a></li>';
  30. }
  31. else
  32. {
  33. echo '<li><a href="logowanie.php" title="Zalogowanie się">Logowanie</a></li>';
  34. }
  35. ?>
  36. </ul>
  37. </div>
  38. </div>
  39. <div id="zawartosc"></div>
  40. <div id="stopka"></div>
  41. </div>
  42. </body>
  43. </html>

[/php]
Go to the top of the page
+Quote Post
webspy
post
Post #8





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


To spróbuj samo echo $_SESSION['login'];


Masz to na wirtualnym serwerze?

Go to the top of the page
+Quote Post
wickas
post
Post #9





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

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


Ponownie Notice: Undefined variable: _SESSION in C:\xampp\htdocs\szpital\index.php on line 26 ,tak korzystam z XAMPP-a 1.81 na localhost.

Ten post edytował wickas 20.01.2013, 17:25:22
Go to the top of the page
+Quote Post
webspy
post
Post #10





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


daj taki kod u gory zamiast
  1. <?
  2. //to na sam początek strony (na samą górę)
  3. ?>

daj takie cos
  1. <?php ob_start(); error_reporting(E_ALL ^ E_NOTICE);
  2. ?>
Go to the top of the page
+Quote Post
wickas
post
Post #11





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

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


Jest postęp, po dodaniu tego nic się nie wyświetla, a nawet pokazał się element wylogowania. http://pics.tinypic.pl/i/00237/w9ymdcr2pxyt.jpg Teraz pozostaje problem usunięcia logowanie.

Edit: jednak przedwcześnie się cieszyłem, jest to po prostu nadmiarowy link do logowania.

Ten post edytował wickas 20.01.2013, 17:43:46
Go to the top of the page
+Quote Post
webspy
post
Post #12





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


nie istenieje $_SESSION['login'] więc tak będzie

Dodaj np przed isset($_SESSION['login']) wykrzyknik i zobaczysz bo sie stanie (jesli cos sie stanie)

  1. if(!isset($_SESSION['login'])) // dostęp dla zalogowanego użytkownika
  2. {
  3. echo '<li><a href="wylogowanie.php" title="Wylogowanie się">Wylogowanie</a></li>';
  4. }
  5. else
  6. {
  7. echo '<li><a href="logowanie.php" title="Zalogowanie się">Logowanie</a></li>';
  8. }




Edit: moim zdaniem jest problem w pliku z logowaniem więc tam trzeba skupić uwagę, na początku uzupełnij sobie przekierowania że jesli zalogowany to przekierowuje na index.pl jezeli nie to na blad.php itd....

Ten post edytował webspy 20.01.2013, 17:48:28
Go to the top of the page
+Quote Post
wickas
post
Post #13





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

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


Po tym co podałeś w końcu się zalogowało ;> Ale teraz jest problem z wylogowaniem. Klikam na wylogowanie, nazwa skryptu się wyświetla,przekierowuje na strone index.php lecz nie niszczy sesji http://pics.tinypic.pl/i/00237/txgr8k5m4105.jpg AAA... Dobra nieważne, przekierowanie w skrypcie wylogowania - logowanie.php pomogło. Dziękuje za poświęcony na mnie czas.

Ten post edytował wickas 20.01.2013, 18:37:03
Go to the top of the page
+Quote Post
webspy
post
Post #14





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


Tylko nie wiem czy to Ci działa naprawdę bo jak dałeś ten wykrzyknik przed isset to po prostu odwróciłeś założenie if, weź teraz bez wykrzyknika i przetestuj.

Popracuj nad stroną logowania.
Go to the top of the page
+Quote Post

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: 21.08.2025 - 04:22