Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z logowaniem, problem z logowaniem
wojtaaas
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.11.2005

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


Witam. Mam mały problem z logowaniem. Chodzi o to, że po zalogowaniu chce wywołać tekst np. Witam $nazwa_uzytkownika. Moja strona składa się z kilku bloków. Po lewej jest widoczne menu i panel zalogowanego, gdzie wlasnie powinna byc nazwa uzytkownika. Po prawej mam blok na ktory wskazuje menu. Po zalogowaniu tekst się pojawia, lecz po przejsciu na inną podstronę znika. Nie wiem czy tracę sesję, czy błąd jest w skrypcie do logowania. Prosze o pomoc. Aby wytłumaczyć to graficznie przygotowałem do tego plik : http://dolnyslask2.neostrada.pl/error/index.html

Poniżej przedstawiam kod php do bloku odpowiedzialnego za logowanie.

  1. <?
  2.  
  3.  
  4. include("config.php");
  5.  
  6. $login = $_POST["login"]; 
  7. $haslo2 = $_POST["haslo2"]; 
  8.  
  9.  
  10. if ($_GET["login"]=="koniec") { 
  11. } else if ($login<>"" and $haslo2<>"") { 
  12. $haslo2 = $haslo2;
  13. if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) { 
  14. if (mysql_select_db($mysql_baza)) { 
  15. $wynik=mysql_query("SELECT * FROM $mysql_tabela WHERE 
  16. login='$login' and haslo2='$haslo2' and status=5"); 
  17. if (mysql_num_rows($wynik)==1) { 
  18. $dane=mysql_fetch_array($wynik); 
  19. $_SESSION["zalogowany"]="tak"; 
  20. $_SESSION["login"]=$dane["login"]; 
  21. $_SESSION["id"]=$dane["id"]; 
  22.  
  23. } 
  24. } else echo "Nie można połączyć się z bazą"; 
  25. mysql_close($baza); 
  26. } 
  27. } 
  28.  
  29. if ($_SESSION["zalogowany"]=="tak") { 
  30.  
  31. ?>
  32.  
  33. <tr>
  34. <td class="nawigacja2" width="25%">
  35. <div class="naglowki_nawigacji2">
  36.  
  37. Panel klienta&nbsp;-&nbsp;<? echo ''.$_SESSION[login].''; ?>
  38.  
  39. </div>
  40. <div class="przyciski_nawigacji2">
  41.  
  42. <a href="baza.php?dzial=dodaj_oferte" class="nav">Dodaj ofertę</a> <br />
  43. <a href="baza.php?dzial=usun_oferte" class="nav">Usuń ofertę</a> <br />
  44. <a href="baza.php?dzial=modyfikuj_oferte" class="nav">Modyfikuj ofertę</a> <br /> <br />
  45. <a href="baza.php?dzial=ustawienia_konta" class="nav">Ustawienia konta</a> <br />
  46. <a href="baza.php?dzial=moje_rachunki" class="nav">Moje rachunki</a> <br />
  47.  
  48. </div>
  49. </td></tr>
  50. </table>
  51. </td>
  52.  
  53. <?
  54.  
  55. } else { 
  56.  
  57. ?>
  58.  
  59. <tr>
  60. <td class="nawigacja2" width="25%">
  61. <div class="naglowki_nawigacji2">
  62. Panel klienta
  63. </div>
  64. <div class="przyciski_nawigacji2">
  65. <form action=baza.php method=post> 
  66. Login&nbsp;:&nbsp;<input name="login" type="text" size="12" /><br />
  67. Hasło&nbsp;:&nbsp;<input name="haslo2" type="password" size="12" /><br />
  68. <br /><center><input type="submit" value="zaloguj" class="submit" /> <input type="reset" value="wyczyść" class="submit" /> <br />
  69. <a href="baza.php?dzial=rejestracja" style="text-decoration:none">otwórz nowe konto</a></center>
  70. </form> 
  71. </div>
  72. </td></tr>
  73. </table>
  74. </td>
  75.  
  76. <?
  77.  
  78. } 
  79. ?> 


Z góry dzięki za pomoc
Go to the top of the page
+Quote Post
Hacker
post
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 0
Dołączył: 1.11.2005

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


Po pierwsze to nie:
  1. <?php
  2. echo ''.$_SESSION[login].''
  3. ?>
, a
  1. <?php
  2. echo $_SESSION['login']
  3. ?>
Po drugie co masz w innych plikach?? snitch.gif


--------------------
(\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him...
(> <)...on his way to world domination
Go to the top of the page
+Quote Post
wojtaaas
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.11.2005

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


w pliku glownym baza.php mam
  1. <table class="tabela_main" width="770"> 
  2. <tr> <td width="100%" height="80" colspan="2">
  3. <img src="../images/logo.jpg" width="770" alt="" />
  4. </td></tr>
  5. <tr> <td class="nawigacja_gorna_zg" colspan="2">
  6.  
  7. <? include ("belka_nawigacyjna.php"); ?>
  8.  
  9. </td></tr>
  10.  
  11. <? include ("bloki/menu.php"); ?>
  12.  
  13. <? include ("bloki/logowanie.php"); ?>
  14.  
  15. <td class="td_blok">
  16.  
  17. <? include ("dzialy.php"); ?>
  18.  
  19. </td></tr>
  20. <tr> <td class="stopka_autorska" colspan="2">
  21.  </td></tr>
  22.  
  23. </table>


a przykladowy plik usun_oferte.php, dodaj_oferte.php (wszystkie na razie takie same) :

  1. <?
  2.  
  3. if ($_SESSION["zalogowany"]=="tak") { 
  4.  
  5. ?>
  6. <table width="100%">
  7. <tr><td class="naglowki_bloku"><div class="naglowki">test</div></td></tr>
  8. <tr><td class="tresc_bloku">
  9.  
  10. <center><font>Ten tekst widzi tylko zalogowany użytkownik</font></center>
  11.  
  12. </td></tr></table>
  13. <?
  14.  
  15. }  
  16. else
  17. {
  18. ?>
  19. <table width="100%">
  20. <tr><td class="naglowki_bloku"><div class="naglowki">test</div></td></tr>
  21. <tr><td class="tresc_bloku">
  22.  
  23. <center><font>Brak uprawnień do oglądania tych zasobów</font></center>
  24.  
  25. </td></tr></table>
  26. <?
  27. }


jest jeszcze menu.php, ale jest to zwykla statyczna strona,

aha, jest jeszcze plik dzialy.php, ale tam jest tylko instrukcja switch
  1. <?
  2. switch ($_GET['dzial'])
  3.  
  4. {
  5. case ("dodaj_oferte"):
  6. include ("panel/dodaj_oferte.php");
  7. break;
  8.  
  9. case ("usun_oferte"):
  10. include ("panel/usun_oferte.php");
  11. break;
  12. }
  13. ?>
Go to the top of the page
+Quote Post
Hacker
post
Post #4





Grupa: Zarejestrowani
Postów: 225
Pomógł: 0
Dołączył: 1.11.2005

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


Nie lepiej
  1. <?php
  2. if (isset($_SESSION['login']) && !empty($_SESSION['login']))
  3. ?>
Zamiast ustawiać
  1. <?php
  2. $_SESSION['zalogowany'] = "tak"
  3. ?>
przy okazji zrób tak
  1. <?php
  2. if ($_GET["login"]=="koniec") { 
  3. echo 'lol';
  4. }
  5. ?>
poźniej to usuniesz (jak zadziała) i zobacz czy nie jestto wywoływane po przejściu na inną stronę
tak propos po co to?
  1. <?php
  2. ?>
jeżeli ten plik u góry to bloki/menu.php to poco znowu w podstronach session_start? Czego nie €żywasz sessji opartych o ciasteczka?
Cytat
Notatka:  Jeśli używasz sesji opartych o ciasteczka, to session_start() musi być wywołane przed wysłaniem jakichkolwiek danych do przeglądarki.


Ten post edytował Hacker 28.11.2005, 18:13:18


--------------------
(\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him...
(> <)...on his way to world domination
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 - 18:00