Witam, jak źle napisałem tytuł to przepraszam nie bardzo wiedziałem jak to napisać a więc tak zacznę od samego początku, mam napisany skrypt na logowanie który działał bardzo dobrze do czasu kiedy miałem linki wewnętrzne typu href="index.php?strona=rejestracja" itp, jednak kiedy dodałem plik .htaccess do mojego serwera ze zmodyfikowanymi adresami URL Fragment kodu .htaccess
Kod
DirectoryIndex index.php

RewriteEngine on

#Statyczne Adresy
RewriteRule ^rejestracja?$ ./index.php?strona=rejestracja [NC]
RewriteRule ^konto?$ ./index.php?strona=konto [NC]


musiałem przestawić linki na: href="http://nazwa.pl/rejestracja", jeżeli chodzi o adresy itp wszystko działa tak jak trzeba po za logowaniem. Kiedy zaloguje się na konto to ładuje mi wszystkie dane do $_SESSION takie jak Login ID czy stan konta, jednak kiedy kliknę w jakiś link od razu cała zawartość $_SESSION znika i zostaje wylogowany.

Oto zawartość pliku sesja.php

  1. if(isset($_POST['submit']) && ($_POST['submit']=="Zaloguj" || $_POST['submit']=="Zaloguj"))
  2.  
  3. {
  4. if(!empty($_POST['login']) && !empty($_POST['haslo']))
  5. {
  6. $login = mysql_real_escape_string($_POST['login']);
  7. $haslo = mysql_real_escape_string($_POST['haslo']);
  8. $zapytanie = "SELECT * FROM ".BAZA_ACCOUNT.".account WHERE login LIKE '".$login."' AND password=password('".$haslo."') LIMIT 1";
  9. $wynik = mysql_query($zapytanie,$polaczenie);
  10. if(mysql_num_rows($wynik)>0)
  11. {
  12. $echo = mysql_fetch_object($wynik);
  13. $_SESSION['id'] = $echo->id;
  14. $_SESSION['login'] = $echo->login;
  15. $_SESSION['sm'] = $echo->coins;
  16. $_SESSION['email'] = $echo->email;
  17. $_SESSION['kod_usuwania_postaci'] = $echo->social_id;
  18. $_SESSION['status'] = $echo->status;
  19. $_SESSION['aktywacja'] = $echo->new_email;
  20. $_SESSION['konto_vip'] = $echo->silver_expire;
  21. $_SESSION['admin'] = $echo->web_admin;
  22. }
  23. }
  24. }
  25.  
  26. if(empty($_SESSION['id']))
  27. {
  28. unset($_SESSION['id']);
  29. unset($_SESSION['login']);
  30. unset($_SESSION['sm']);
  31. unset($_SESSION['email']);
  32. unset($_SESSION['kod_usuwania_postaci']);
  33. unset($_SESSION['status']);
  34. unset($_SESSION['aktywacja']);
  35. unset($_SESSION['konto_vip']);
  36. unset($_SESSION['admin']);
  37. }
  38. else {
  39. $zapytanie = "SELECT * FROM ".BAZA_ACCOUNT.".account WHERE id='".mysql_real_escape_string($_SESSION['id'])."' LIMIT 1";
  40. $wynik = mysql_query($zapytanie,$polaczenie);
  41. if(mysql_num_rows($wynik)>0)
  42. {
  43. $echo = mysql_fetch_object($wynik);
  44. $_SESSION['id'] = $echo->id;
  45. $_SESSION['login'] = $echo->login;
  46. $_SESSION['sm'] = $echo->coins;
  47. $_SESSION['email'] = $echo->email;
  48. $_SESSION['kod_usuwania_postaci'] = $echo->social_id;
  49. $_SESSION['status'] = $echo->status;
  50. $_SESSION['aktywacja'] = $echo->new_email;
  51. $_SESSION['konto_vip'] = $echo->silver_expire;
  52. $_SESSION['admin'] = $echo->web_admin;
  53.  
  54. }
  55. else
  56. {
  57. unset($_SESSION['id']);
  58. unset($_SESSION['login']);
  59. unset($_SESSION['sm']);
  60. unset($_SESSION['email']);
  61. unset($_SESSION['kod_usuwania_postaci']);
  62. unset($_SESSION['status']);
  63. unset($_SESSION['aktywacja']);
  64. unset($_SESSION['konto_vip']);
  65. unset($_SESSION['admin']);
  66. }
  67. }


Czy ktoś wie jak rozwiązać ten problem aby działało mi całe logowanie? teoretycznie mógł bym wrócić do starego typu z href="index.php?strona=..." no ale bardzo mi zależy na takim wyglądzie strony, na wstępie zaznaczam że szukałem rozwiązania jednak z marnym skutkiem. Z góry dziękuje za pomoc.

PROBLEM ROZWIĄZANY MOŻNA ZAMKNĄĆ smile.gif