Mam o to taki sobie sql
  1. CREATE TABLE `users` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `user` varchar(50) NOT NULL DEFAULT '',
  4. `pass` varchar(50) NOT NULL DEFAULT '',
  5. `nick` varchar(50) NOT NULL DEFAULT '',
  6. `email` varchar(50) NOT NULL DEFAULT '',
  7. `nazwisko` varchar(50) NOT NULL DEFAULT '',
  8. `lvl` varchar(50) NOT NULL DEFAULT '',
  9. `x` varchar(50) NOT NULL DEFAULT '',
  10. `data` varchar(50) NOT NULL DEFAULT '',
  11. PRIMARY KEY (`id`)
  12. ) TYPE=MyISAM AUTO_INCREMENT=1 ;

i taki skrpcik php:
  1. <?php
  2. /* Gdyby, ktoś(czytaj zły niedobry hacker) popsuł apacha tak, że nie widzi plików .htaaccess to musimy sami upewnić s
    i
  3.  czy plik został tylko includowany */ 
  4. if(eregi(&#092;"config.php\",$_SERVER['PHP_SELF']) OR eregi(\"config.php\",$_SERVER['QUERY_STRING'])) 
  5.  { header(&#092;"Location: /\"); die(); } 
  6.  
  7. /* Klucz XOR dla szyfrowania cookie dowolny ciąg znaków - musi mieć dokładnie 64 znaki 
  8. 2x hash md5 */ 
  9. $_CONFIG['kxc'] = &#092;"a523d703f908dd69e02db64ec35d07315f4c49ab3cacad14a97304b02f2fbb09\"; 
  10.  
  11. /* Dane potrzebne do zalogowania sie do bazy MySQL - zastap swoimi */ 
  12. $_CONFIG['MySQL']['host'] = &#092;"localhost\"; 
  13. $_CONFIG['MySQL']['user'] = &#092;"krasnal\"; 
  14. $_CONFIG['MySQL']['pass'] = &#092;"fajnehaslo\"; 
  15. $_CONFIG['MySQL']['base'] = &#092;"taksobietambazal\"; 
  16.  
  17. /* jesli nie mamy swojej sesji to ja zakladamy */ 
  18. if(!isset($_SESSION['sesja'])) { 
  19.  $_SESSION['sesja'] = ''; 
  20. } 
  21.  
  22. /* Łączymy sie z Bazą Danych, jesli coś jest nie tak - wyskakuje nam \"przyjazny\" komunikat */ 
  23. @mysql_connect($_CONFIG['MySQL']['host'], $_CONFIG['MySQL']['user'], $_CONFIG['MySQL']['pass']) or die(
  24.  
  25.   
  26. Err0r 
  27.  
  28. body { background: #FFFFFF; } 
  29. div  { font-family: Verdana, Arial; font-size: 12px; color: #000000; } 
  30.  
  31.  
  32.  
  33. <DIV> 
  34. Przepraszamy, wystąpiła chwilowa awaria serwisu.
  35.  
  36.  
  37.  
  38. Nie mogę połączyć się z serwerem bazy danych.
  39.  
  40.  
  41.  
  42. Proszę powiadom <a href="\"mailto:ustek@ustek.one.pl\"">Webmastera. 
  43.  
  44. '); 
  45.  
  46. /* To samo co wyżej, z tym, że teraz wybieramy bazę */ 
  47. @mysql_select_db($_CONFIG['MySQL']['base']) or die(
  48.  
  49.   
  50. Err0r 
  51.  
  52. body { background: #FFFFFF; } 
  53. div  { font-family: Verdana, Arial; font-size: 12px; color: #000000;} 
  54.  
  55.  
  56.  
  57. <DIV> 
  58. Przepraszamy, wystąpiła chwilowa awaria serwisu.
  59.  
  60.  
  61.  
  62. Nie mogę odnaleść bazy Danych.
  63.  
  64.  
  65.  
  66. Proszę powiadom <a href="\"mailto:ustek@ustek.one.pl\"">Webmastera. 
  67.  
  68. '); 
  69.  
  70. function login() { 
  71. /* Pewnie sie zastanawiasz czemu nie globalizujemy tez potrzebnej nam tablicy $_P
  72. ST - otórz ona już jest globalizowana - automatycznie */ 
  73. global $_CONFIG; 
  74. /* Niezalogowany dopuki nie udowodni, że jest tym za kogo się podaje */ 
  75. $zalogowany = false; 
  76.  
  77. /* W pierwszej kolejności będą brane pod uwage dane z cistek, potem sesji, na koń
  78. u z formularza. Ta część funkcji ma ustalić, skąd pochodzą dane, i upewnić się, 
  79. e owe dane są zaszyfrowane w md5. strtolower przy loginie, ma za zadanie sprawić
  80.  by wielkość liter nie miała znaczenia - ale tylko przy loginie */ 
  81. if(isset($_COOKIE[&#092;"dane\"])) { 
  82. $dane = $_COOKIE[&#092;"dane\"]^$_CONFIG['kxc']; 
  83. $login = substr($dane, 0, 32); 
  84. $haslo = substr($dane, -32); 
  85. $metod = &#092;"cookies\"; 
  86. } 
  87. elseif(isset($_SESSION['login']) AND isset($_SESSION['haslo'])) { 
  88. $login = $_SESSION['login']; 
  89. $haslo = $_SESSION['haslo']; 
  90. $metod = &#092;"session\"; 
  91. } 
  92. elseif(isset($_POST['login']) AND isset($_POST['haslo'])) { 
  93. $login = md5(strtolower($_POST['login'])); 
  94. $haslo = md5($_POST['haslo']); 
  95. $metod = &#092;"post\"; 
  96. } 
  97.  
  98. /* Jeśli istnieje $metod - czyli jeśli dane zostały dostarczone, to sprawdzamy czy są poprawne. Możemy spo
  99. ojnie wstawić zmienne $login i $haslo do zapytania SQL bo obydwie zmienne, zawsz
  100.  i wszędzie wyglądać będą tak samo dwa ciągi zawierające 32 znaki czyli 2x hash 
  101. d5 snitch.gif */ 
  102. if(isset($metod)) { 
  103. $query = mysql_query(&#092;"SELECT * FROM `users` WHERE `user`='\".$login.\"' AND `pass`='\".$haslo.\"';\"); 
  104.  /* Jeśli baza danych zwróciła tylko jeden wynik to haslo i login zostały odnalezi
  105. ne zatem $zalogowany = true, ale oprucz tego musimy sie upewnić, że dane, które 
  106. ykożysaliśmy nam nie przepadną */ 
  107.  if(mysql_num_rows($query) == 1) { 
  108.   $zalogowany = true; 
  109.    /* Jeśli dane nie pochodzą z sesji, to umieszczamy je w sesji + zapisujemy w sesj
  110.  info, ktore może się do czegoś przydać, np nick */ 
  111.   if($metod <> &#092;"session\") { 
  112.   $wiersz = mysql_fetch_array($query); 
  113.   $_SESSION['login'] = $wiersz['user']; ///dlaczego dialaja mi te sesje 
  114.   $_SESSION['haslo'] = $wiersz['pass'];///dlaczego dialaja mi te sesje 
  115.   $_SESSION['nick'] = $wiersz['nick'];///dlaczego dialaja mi te sesje 
  116.   $_SESSION['email'] = $wiersz['email'];/// a ta nie?? 
  117.      /* Jeśli dane pochodzą z formularz i dodatkowo gość poprosił o zapamiętanie danyc
  118.  na przyszłość to dodatkowo umieszczamy potrzebne (zaszyfrowane) dane w cisteczkach */ 
  119.    if($metod == &#092;"post\" AND isset($_POST['pamietaj']) AND $_POST['pamietaj'] == \"ok\") { 
  120.    $dane = ($login.$haslo)^$_CONFIG['kxc']; 
  121.    setcookie (&#092;"dane\", $dane,time()+3600*24*365); /* straci ważnosc za rok */ 
  122.    } 
  123.   } 
  124.  } 
  125. } 
  126. return $zalogowany; 
  127. } 
  128.  
  129. /* Wylogowanie, polega na zniszczeniu danych, które znajdują sie w sesji i jeśli 
  130. ą w cistakach to tam też sprzątamy */ 
  131. function logout() { 
  132. if(isset($_COOKIE[&#092;"dane\"])) 
  133.  setcookie (&#092;"dane\", \"\",time()-3600*24*365); 
  134. unset($_SESSION['login']); 
  135. unset($_SESSION['haslo']); 
  136. unset($_SESSION['nick']);
  137. unset($_SESSION['email']);
  138.  } 
  139.    ?>

Jakie mogą być przyczyny tego że zaznaczone sesje mi działają ( ja ten plik includuje do innych plikow) a inne nie? questionmark.gif

PS: jeżeli Ktoś czegoś niezrozumiał to proszę mi wybaczyć  smile.gif

EDIT:
  1. <?php
  2. $query = mysql_query("SELECT `user`,`pass`,`nick`,`email` FROM `users` WHERE `user`='".$login."' AND `pass`='".$haslo."';");
  3. ?>

Tu wystarczyło zmienić i gitarka