Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SZUKAM "użytkownicy online"
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
zuczek93
a wiec tak szukam skryptu jakiegos aby wyswietlal uzytkownikow online na stronie do logowania uzywam sesji pomoze ktos questionmark.gif
Lejto
ja ci pomoge
  1. <?
  2. /****
  3.  (c) Lukasz Ogan, 2008 : All Rights Reserved
  4. ****/
  5.  
  6. /************************************
  7. Skrypt wyświetlający gości na stronie
  8. ************************************/
  9.  
  10. define ('TIMEOUT', 20); //czas
  11. $ostatnio_online = time();
  12.  
  13.  $zapytaj = "SELECT * FROM goscie_online WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
  14.  $query = mysql_query($zapytaj) or die("Blad");
  15.  
  16. $ile = mysql_num_rows($query);
  17. /* zpt. o liczbę gości */
  18. $zapytaj2 = "SELECT * FROM goscie_online";
  19. $query2 = mysql_query($zapytaj2);
  20. $ile2 = mysql_num_rows($query2);
  21.  
  22. if($ile<1)
  23. {
  24. $zapytaj1 = "INSERT INTO goscie_online (id
  25. , ostatnio_online, ip) VALUES ('".$id."', '".$ostatnio_online."', '".$_SERVER['REMOTE_ADDR']."')";
  26. $query2 = mysql_query($zapytaj1);
  27.  
  28. }
  29. elseif($ile>=1)
  30. {
  31. $zapytaj2 = "UPDATE goscie_online SET id = '".$id."', ostatnio_online = '".$ostatnio_online."', ip = '".$_SERVER['REMOTE_ADDR']."' WHERE id = '".$id."'";
  32. $query3 = mysql_query($zapytaj);
  33. }
  34.  
  35.  
  36. $aktywnosc = time()-(60*TIMEOUT);
  37. $wywal_nieaktywnego = "DELETE FROM goscie_online WHERE ostatnio_online < $aktywnosc";
  38. $query4 = mysql_query($wywal_nieaktywnego);
  39.  
  40. $zapytaj_o_online = "SELECT * FROM goscie_online ORDER by ostatnio_online ASC";
  41. $query5 = mysql_query($zapytaj_o_online);
  42.  
  43.  print ' Gości: '.$ile2;
  44. /*******
  45. Koniec
  46. *******/
  47.  
  48. <?php
  49. /*************************************************************
  50. online.php
  51.  -------------------
  52.  *  begin : Sobota, Sty 12, 2008
  53.  *  copyright : (C) 2008 Łukasz Ogan
  54.  *  email : admin@2c-nowe.kom.pl
  55.  *
  56.  *  $Id: online.php, v 1.6.1 
  57.  
  58. (c) Łukasz Ogan, 2008 : All Rights Reserved
  59. *************************************************************/
  60.  
  61. /*************
  62. Goscie
  63. *************/
  64.  
  65. /**************************************************************
  66. Funkcja wyswietlajaca gosci znajduje sie w pliku statystyki.php
  67. ***************************************************************/
  68.  
  69. /******************
  70. Zalogowani
  71. ******************/
  72.  
  73. define ('TIMEOUT', 20);
  74. $ostatnio_online = time();
  75.  $sql = "SELECT * FROM uzytkownik WHERE user = '".$_SESSION['prawid_uzyt']."'"; // zapytanie do tabeli z zarejestrowanymi userami + prawidłowa sesja
  76. $query7 = mysql_query($sql);
  77. $rows=mysql_num_rows($query7);
  78. $row = mysql_fetch_array($query7);
  79.  
  80.  
  81.  
  82. $zapytaj = "SELECT * FROM kto_online WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND nick = '".$_SESSION['prawid_uzyt']."'";
  83. $query = mysql_query($zapytaj);
  84. $ile = mysql_num_rows($query);
  85.  
  86. $zapytanie = "SELECT * FROM uzytkownik where user = '".$_SESSION['prawid_uzyt']."'";
  87. $wykonaj = mysql_query($zapytanie);
  88. $rows = mysql_num_rows($wykonaj);
  89. $row = mysql_fetch_array($wykonaj);
  90.  
  91. $numer_usera = $row[id];
  92.  
  93. if (isset($_SESSION['prawid_uzyt']))
  94. {
  95. if($ile<1)
  96. {
  97. $zapytaj1 = "INSERT INTO kto_online (nick, onlineid
  98. , ostatnio_online, ip, numer, postow) VALUES ('".$_SESSION['prawid_uzyt']."', '".$onlineid
  99. ."', '".$ostatnio_online."', '".$_SERVER['REMOTE_ADDR']."', '".$numer_usera."', '".$postow."')";
  100. $query2 = mysql_query($zapytaj1);
  101.  
  102. }
  103. elseif($ile>=1)
  104. {
  105. $zapytaj2 = "UPDATE kto_online SET nick = '".$_SESSION['prawid_uzyt']."', onlineid = '".$onlineid."', ostatnio_online = '".$ostatnio_online."', ip = '".$_SERVER['REMOTE_ADDR']."', numer = '".$numer_usera."', postow = '".$postow."' WHERE onlineid = '".$onlineid."'";
  106. $query3 = mysql_query($zapytaj2);
  107. }
  108. }
  109. $aktywnosc = time()-(60*TIMEOUT);
  110. $wywal_nieaktywnego = "DELETE FROM kto_online WHERE ostatnio_online < $aktywnosc";
  111. $query4 = mysql_query($wywal_nieaktywnego);
  112.  
  113. $zapytaj_o_online = "SELECT * FROM kto_online ORDER by ostatnio_online ASC";
  114. $query5 = mysql_query($zapytaj_o_online);
  115.  
  116.  
  117.  if($rows = mysql_num_rows($query5) == 0){
  118.  
  119. echo "<br><font color=#FF9999 size=1>Brak zalogowanych uzytkowników.\n</font>";
  120.  
  121.  }
  122. else
  123. {
  124.  
  125.  
  126.  
  127.  
  128.  $sql = "SELECT * FROM kto_online"; 
  129.  $query = mysql_query($sql);
  130.  $rows = mysql_num_rows($query);
  131. for($i=0; $i < $rows; $i++)
  132. {
  133.  
  134. $row = mysql_fetch_array($query);
  135.  
  136.  
  137. echo "<strong>";
  138. echo ($row[nick]);
  139. echo ', ';
  140. }
  141. ?>

niektóre funkcje mogą ci być niepotrzebne ale i tak "ogoliłem" go z moich

SQL
  1. -- Struktura tabeli dla `goscie_online`
  2. --
  3.  
  4. CREATE TABLE `goscie_online` (
  5. `ip` text NOT NULL,
  6. `ostatnio_online` text NOT NULL,
  7. `id` int(11) NOT NULL AUTO_INCREMENT,
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
  10.  
  11. -- --------------------------------------------------------
  12.  
  13. --
  14. -- Struktura tabeli dla `kto_online`
  15. --
  16.  
  17. CREATE TABLE `kto_online` (
  18. `ip` text NOT NULL,
  19. `ostatnio_online` text NOT NULL,
  20. `nick` text character SET ucs2 collate ucs2_polish_ci NOT NULL,
  21. `numer` int(11) NOT NULL DEFAULT '0',
  22. `postow` text NOT NULL,
  23. `onlineid` int(5) NOT NULL AUTO_INCREMENT,
  24. PRIMARY KEY (`onlineid`)
  25. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 ;

na 99,9% działa mogłem jedynie jakiś błąd popełnić przy kopiowaniu kodu
zuczek93
ok dzieki sprawdze ale narazie w domu nie jestem:P
envp
OT. Chyba takie rozwiązania realizuje się na tabelach typu MEMORY smile.gif


Btw. zerknij bo w sieci jest pełno stron, które udostępniają taką funkcjonalność zdalnie, po dodaniu kawałka js do strony smile.gif
zuczek93
a wiec tak chcialbym troche skrocic skrypt (narazie sprobuje sam napisac moze kiedys poszukam takiej strony) moze mi ktos pomoc w takiej sprawie zeby jak sie zamyka strone (nie przegladarke) to sie wylogowuje ? bo wtedy sam juz sobie z tym poradze a narazie jest tak ze wylogowuje mnie tylko jak zamykam cala przegladarke... a wiec jak ktos pomoze to jak sobie poradze to zamieszcze tu caly skrypt ...
Lejto
mogę ci podarować taki skrypt
ale jak chcesz do sam zrobić to:
hasło i id usera szyfrujesz i zapisujesz do cookie np. w index.php dajesz if'a czy cookie jest porównujesz id z id usera i zaszyfrowane hasło == pole autologin w tabeli users (zaszyfrowane hasło) jeżeli dane są prawdziwe to tworzysz sesje
wytłumaczyłem to bardzo lakonicznie jeżeli chcesz to wyśle ci ten skrypt albo napisze nowy temat o nim

@zuczek93 poprosił mnie o przedstawienie skrypty rejestracji (pomoc w jego utworzeniu)

1 tabela

  1. CREATE TABLE `uzytkownik` (
  2. `user` text character SET ucs2 collate ucs2_polish_ci,
  3. `haslo` text,
  4. `email` text,
  5. `autologin` text,
  6. `id` int(11) NOT NULL AUTO_INCREMENT,
  7. PRIMARY KEY (`id`)
  8. );
zuczek93
to pokaz calosc skryptu
marcio
  1. <?php
  2. function online($user) {
  3.  
  4. if($db = mysql_connect("85.17.1.175", "*****", "***")) {
  5.  
  6.  
  7. $remote = $_SERVER['REMOTE_ADDR'];
  8.  $aktualny_czas = time();
  9. $limit = 300; 
  10.  $zostalo = $aktualny_czas - $limit;
  11. $dodaj = ("INSERT INTO online(login,czas,ip) VALUES('$user','$aktualny_czas','$remote')");
  12.  $rezultat = mysql_query($dodaj, $db) or die(mysql_error());
  13. $usun = mysql_query('DELETE FROM online WHERE czas < '.$zostalo.''); 
  14.  $usunieto = mysql_query($usun, $db);
  15. $ile_online = ('SELECT DISTINCT login FROM online');
  16.  $osob = mysql_query($ile_online, $db) or die(mysql_error());
  17. $licz = mysql_num_rows($osob);
  18.  
  19. echo('User'ow online: '.$licz.' <Br>');
  20.  
  21. while($nazwa = mysql_fetch_assoc($osob)) {
  22.  
  23.  if(substr($nazwa['login'], -1, 1) != ',') $nazwa['login'] .= ',';
  24.  
  25. echo('<code><b>'.$nazwa['login'].'</b></code> ');
  26.  
  27. }
  28.  }
  29. }
  30.  
  31. //wywolanie
  32. online($_COOKIE['nazwa']);
  33. online($_SESSION['nazwa']);
  34. ?>


Skrypt z mojego cms'a

o0ps dodalem pasy smile.gif

P.S nazwa tabeli online kolumny login/czas/ip chyba wiadomo jakiego typu
Lejto
będę pisał częściami krok to kroku
formularz rejestracji
  1. td{padding:0.25em 1px;}
  2. td.lbl{text-align:right;}
  3. tr.required td.lbl{background:#FCC; border-left: 0.5em solid:red;}
  4. td.lbl{background:#CFC; border-laft: 0.5em solod:green;}
  5.  
  6. <form method="post" action="nowa_rejestracja.php">
  7. <table bgcolor="#ffffff" align="left" width="100%" cellpadding="0" cellspacing="0">
  8. <tr class="required">
  9. <td class="lbl">Adres e-mail:</td>
  10. <td class="required"><input type="text" name="email" size="30" maxlength="100"></td></tr>
  11. <tr class="required">
  12. <td class="lbl">Preferowana nazwa użytkownika :</td>
  13. <td valign=top><input type="text" name="user"
  14. size="16" maxlength="16"></td></tr>
  15. <tr class="required">
  16. <td class="lbl">Hasło(pomiędzy 4 i 16 znaków):</td>
  17. <td valign=top><input type="password" name="haslo"
  18. size="16" maxlength="16"></td></tr>
  19. <tr class="required">
  20. <td class="lbl">Potwierdź hasło:</td>
  21. <td><input type="password" name="haslo2" size="16" maxlength="16"></td></tr>
  22.  
  23. <tr>
  24. <td colspan=2 align=center>
  25. <input type="submit" value="Rejestruj"></td></tr>
  26. </table></form>

nowa_rejestracja.php
  1. <style type="text/css">
  2. #prblem
  3. {
  4. text-align:left;
  5. width:94%;
  6. background:#FF3030;
  7. border:1px;
  8. cellpadding:12px;
  9. background-color:#FF3300;
  10. }
  11. </style>
  12. <?php
  13. include("funkcje.php");
  14.  
  15. function tworz_tabele()
  16. {
  17. ?>
  18. <table align="center" bordercolor="#000000" border="1" cellpadding="1" cellspacing="0" id="prblem">
  19. <?
  20. }
  21.  
  22. // utworzenie krótkich nazw zmiennych
  23. $email = $_POST['email'];
  24. $id = $_POST['id'];
  25. $user = $_POST['user'];
  26. $haslo = $_POST['haslo'];
  27. $haslo2 = $_POST['haslo2'];
  28.  
  29.  
  30.  
  31.  if(!eregi('^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$', $email))
  32.  {
  33.  ?>
  34. <br>
  35. <? tworz_tabele(); ?>
  36. <tr>
  37.  <td bgcolor="#FF3030"> <b><font size=3>Problem:</td></tr><td></font><font size="2">
  38. <?
  39. echo 'Niepoprawny adres e-mail';
  40.  
  41. ?>
  42.  </font></td></tr></table>
  43.  <?
  44.  exit;
  45.  }
  46.  
  47.  
  48.  if (!wypelniony($_POST))
  49.  {
  50.  ?>
  51.  <br>
  52. <? tworz_tabele(); ?>
  53. <tr>
  54.  <td bgcolor="#FF3030"> <b><font size=3>Problem:</td></tr><td></font><font size="2">
  55. <?
  56.  
  57.  
  58.  echo 'Formularz wypełniony nieprawidłowo proszę wrócić i spróbować ponownie. </tr></td></font></table><br> <? ';
  59.  
  60. if(empty($_POST[emali]))
  61.  {
  62. ?>
  63. <br>
  64. <? tworz_tabele(); ?>
  65. <tr>
  66.  <td bgcolor="#FF3030"> <b><font size=3>Problem:</td></tr><td></font><font size="2">
  67.  
  68. Proszę wpisać adres e-mail
  69. </tr></td></font></table><br>
  70.  
  71.  
  72.  <?
  73.  
  74.  }
  75.  
  76.  
  77.  if ($haslo != $haslo2)
  78.  {
  79.  ?>
  80. <br>
  81. <? tworz_tabele(); ?>
  82. <tr>
  83.  <td bgcolor="#FF3030"> <b><font size=3>Problem:</td></tr><td></font><font size="2">
  84.  
  85. <?
  86.  echo 'Niepasujące do siebie hasła proszę wrócić i spróbować ponownie. < 
  87. </div> </tr></td></font></table><br> <? ';
  88.  }
  89.  
  90.  
  91.  
  92.  // sprawdzenie długo?ci hasła
  93.  if (strlen($user)>16)
  94.  {
  95.  ?>
  96. <br>
  97. <? tworz_tabele(); ?>
  98. <tr>
  99.  <td bgcolor="#FF3030"> <b><font size=3>Problem:</td></tr><td></font><font size="2">
  100. <?
  101.  echo 'Nazwa uzytkownika nie może mieć więcej niż 16 znaków proszę wrócić i spróbować ponownie.
  102. </div> </tr></td></font></table><br> <? ';
  103.  }
  104.  
  105.  // sprawdzenie długo?ci nazwy użytkownika
  106.  if (strlen($haslo)<4)
  107.  {
  108.  ?>
  109.  <br>
  110. <? tworz_tabele(); ?>
  111. <tr>
  112.  <td bgcolor="#FF3030"> <b><font size=3>Problem:</td></tr><td></font><font size="2">
  113.  <?
  114. echo 'Hasło musi mieć co najmniej 4 znaki proszę wrócić i spróbować ponownie.
  115. </div> </tr></td></font></table><br> <? ';
  116.  }
  117.  }
  118.  
  119.  // nieprawidłowy adres poczty elektronicznej
  120.  
  121. else
  122. {
  123.  // próba zarejestrowania
  124.  rejestruj($user, $email, $haslo, $id);
  125.  // rejestracja zmiennej sesji
  126.  $_SESSION['prawid_uzyt'] = $user;
  127.  
  128.  ?>
  129.  
  130.  
  131. <br>
  132. <table align="center" class="ucz" bordercolor="black" rules="all" width="94%" bgcolor="#FF6060" border="1" cellspacing="0" cellpadding="1"><tr> <td bgcolor="#008000"> <b><font size=3>Rejestracja pomyślna</td> </tr><td bgcolor="#50D050"></font><font size="2">
  133.  <?
  134.  echo 'Rejestracja zakończyła się sukcesem. Proszę udać się na stronę ';
  135.  
  136.  ?>
  137.  <br /> <br />
  138. </div> </tr></td></font></table><br> 
  139. <?php  
  140.  }



funkcje.php
  1. <?php
  2. function rejestruj($user, $email, $haslo, $id)
  3. // zarejestrowanie nowej osoby w bazie danych
  4. // zwraca true lub komunikat o błędzie
  5. {
  6.  
  7.  
  8. // sprawdzenie, czy nazwa użytkownika nie powtarza się
  9.  
  10. $wynik = mysql_query("select * from uzytkownik where user='$user'"); 
  11. if (!$wynik)
  12.  
  13. echo 'Wykonanie zapytania nie powiodło się.';
  14.  
  15. if (mysql_num_rows($wynik)>0) 
  16.  
  17. echo 'Nazwa użytkownika zajęta, proszę wrócić i wybrać inną.';
  18.  
  19.  
  20.  
  21.  
  22.  // jeżeli wszystko w porządku, umieszczenie w bazie danych
  23.  $data = date('d.m.Y H:i:s');
  24. $wynik = "insert into uzytkownik (user, haslo, email, data) values ('$user', sha1('$haslo'), '$email', '$data')";
  25.  $query = mysql_query($wynik);
  26.  
  27.  
  28.  
  29.  if (!$query)
  30.  echo 'Rejestracja w bazie danych niemożliwa proszę spróbować później prosze skontaktow
    ać się z administratorem.'
    ;
  31.  
  32.  
  33. return true;
  34. }
  35.  
  36. function loguj($user, $haslo)
  37. // sprawdzenie nazwy użytkownika i hasła w bazie danych
  38. // jeżeli się zgadza, zwraca true
  39. // jeżeli nie, wyrzuca wyjštek
  40. {
  41.  
  42.  
  43.  
  44. $wynik = mysql_query("select * from uzytkownik 
  45.  where user='$user'
  46.  and haslo = sha1('$haslo')");
  47. if (!$wynik)
  48. echo 'Logowanie nie powiodło się.';
  49.  
  50. if (mysql_num_rows($wynik)>0)
  51.  return true;
  52. else 
  53. echo ' ';
  54. }
  55.  
  56. function sprawdz_prawid_uzyt()
  57.  {
  58. if (isset($_SESSION['prawid_uzyt']))
  59. {
  60. echo 'Zalogowano jako '.stripslashes($_SESSION['prawid_uzyt']).'.';
  61. echo '<br />';
  62.  
  63.  
  64. }
  65. else
  66. {
  67.  // nie jest zalogowany 
  68. echo 'Brak zalogowania.<br />';
  69.  
  70.  tworz_stopke_html();
  71.  exit;
  72. }
  73. }
  74. function sprawdz_prawid_uzyt2()
  75. // sprawdzenie czy użytkownik jest zalogowany i powiadomienie go jeżeli nie
  76. {
  77. if (isset($_SESSION['prawid_uzyt']))
  78. {
  79.  
  80. echo '<br>';
  81. }
  82. else
  83. {
  84.  // nie jest zalogowany 
  85. ?> <br>
  86. <br> <table class="lewem" align="center" class="ucz" bordercolor="black" rules="all" width="94%" background="black" bgcolor="#FF8080" border="1" cellspacing="0" cellpadding="1"><tr> <td bgcolor="#FF3030"> <b><font size=3>Problem:</td></tr><td></font><font size="2"> <?
  87.  
  88. echo 'Aby móc napisać opinie należy być zalogowanym.  ';
  89.  
  90. ?> </tr></td></font><div class="to"><?
  91.  
  92. ?></table></div>
  93. <br><?
  94.  
  95.  exit;
  96. }
  97. }
  98.  
  99. function zmien_haslo($user, $stare_haslo, $nowe_haslo)
  100. // zmiana hasła użytkownika ze stare_haslo na nowe_haslo
  101. // zwraca true lub false
  102. {
  103. // jeżeli stare hasło jest prawidłowe zmiana nowe_haslo i zwrócenie true
  104. // w przeciwnym wypadku wyrzucenie wyjštku
  105. loguj($user, $stare_haslo);
  106.  
  107. $wynik = mysql_query("update uzytkownik
  108.  set haslo = sha1('$nowe_haslo')
  109.  where user = '$user'");
  110. if (!$wynik)
  111. echo 'Zmiana hasła nie powiodła się.';
  112. else
  113. return true;
  114. echo 'Hasło zmienione :-)';  
  115. // zmiana udana
  116. }
  117.  
  118. function pobierz_losowe_slowo($dlugosc_min, $dlugosc_max)
  119. //pobranie losowego słowa ze słownika o określonej długości zwrócenie go
  120. {
  121. // generowanie losowego słowa
  122. $slowo = '';
  123. // tę ścieżkę należy dostosować do ustawień własnego systemu
  124. $slownik = '/usr/dict/words'; // słownik ispell
  125. $wp = @fopen($slownik, 'r');
  126. if(!$wp)
  127. return false; 
  128. $wielkosc = filesize($slownik);
  129.  
  130. // przejście do losowej pozycji w słowniku
  131. srand ((double) microtime() * 1000000);
  132. $losowa_pozycja = rand(0, $wielkosc);
  133. fseek($wp, $losowa_pozycja);
  134.  
  135. // pobranie ze słownika następnego pełnego słowa o wła?ciwej długo?ci
  136. while (strlen($slowo)< $dlugosc_min || strlen($slowo)>$dlugosc_max || strstr($slowo, "'"))
  137. {
  138.  if (feof($wp))  
  139. fseek($wp, 0); // jeżeli koniec pliku, przeskocz na poczštek
  140.  $slowo = fgets($wp, 80); // przeskoczenie pierwszego słowa bo może być niepełne
  141.  $slowo = fgets($wp, 80); // potencjalne hasło
  142. };
  143. $slowo=trim($slowo); // obcięcie poczštkowego \n z funkcji fgets
  144. return $slowo;
  145. }
  146.  
  147. function ustaw_haslo($user)
  148. // ustawienie hasła użytkownika na losowš warto?ć 
  149. // zwraca nowe hasło lub false w przypadku niepowodzenia
  150. { 
  151. // pobranie losowego słowa ze słownika o długo?ci pomiędzy 6 i 13 znaków
  152. $nowe_haslo = pobierz_losowe_slowo(6, 13);
  153.  
  154. if($nowe_haslo==false)
  155. echo 'Wygenerowanie nowego hasła nie powiodło się.';
  156. // dodanie liczby pomiędzy 0 i 999 w celu stworzenia lepszego hasła
  157. srand ((double) microtime() * 1000000);
  158. $losowa_liczba = rand(0, 999); 
  159. $nowe_haslo .= $losowa_liczba;
  160.  
  161. // ustawienie nowego hasła w bazie danych lub zwrócenie false
  162.  
  163. return false;
  164. $wynik = mysql_query("update uzytkownik
  165.  set haslo = sha1('$nowe_haslo')
  166.  where user = '$user'");
  167. if (!$wynik)
  168.  echo 'Zmiana hasła nie powiodła się.'; // hasło nie zmienione
  169. else
  170. return $nowe_haslo; // hasło zmienione pomy?lnie
  171. }
  172.  
  173. function powiadom_haslo($user, $haslo)
  174. // powiadomienie użytkownika o zmianie hasła
  175. {
  176.  
  177. $wynik = mysql_query("select email from uzytkownik
  178.  where user='$user'");
  179. if (!$wynik)
  180. {
  181. echo 'Nie znaleziono adresu e-mail';
  182. }
  183. else if (mysql_num_rows==0)
  184. {
  185. echo 'Nie znaleziono adresu e-mail'; // nazwy użytkownika nie ma w bazie danych
  186. }
  187. else
  188. {
  189. $wiersz = mysql_fetch_object($wynik);
  190. $email = $wiersz->email;
  191. $od = "From: obsluga@zakladkaphp r\n";
  192. $wiad = "Hasło systemu ZakładkaPHP zostało zmienione na $haslo r\n"
  193. ."Proszę zmienić je przy następnym logowaniu. r\n";
  194.  
  195.  
  196. if (mail($email, 'Informacja o logowaniu', $wiad, $od))
  197. return true;
  198. else
  199. echo 'Wysłanie e-maila nie powiodło się';
  200. }
  201. } 
  202.  
  203. ?>


zmiana_hasła.php
  1. <?php
  2.  
  3. // utworzenie krótkich nazw zmiennych
  4. $stare_haslo = $_POST['stare_haslo'];
  5. $nowe_haslo = $_POST['nowe_haslo'];
  6. $nowe_haslo2 = $_POST['nowe_haslo2'];
  7.  
  8.  $sql = mysql_query("select * from uzytkownik where user = '".$_SESSION[prawid_uzyt]."'");
  9.  $row = mysql_fetch_array($sql);
  10.  
  11.  if(!$sql)
  12.  {
  13. echo 'błąd';
  14. }
  15.  
  16.  
  17.  
  18.  if(empty($_POST[stare_haslo]))
  19. {
  20. echo 'Wpisz stare hasło!<br><br>';
  21. echo "<span id=\"href2\"><a href=\"javascript:history.back();\">Wstecz</a></span>";
  22. }
  23. if ($nowe_haslo!=$nowe_haslo2)
  24.  {
  25. echo 'Wprowadzone hasła nie są identyczne. Hasło nie zostało zmienione.<br><br>';
  26. echo "<span id=\"href2\"><a href=\"javascript:history.back();\">Wstecz</a></span>";
  27. }
  28. if (strlen($nowe_haslo)<6)
  29.  {
  30.  echo 'Nowe hasło musi mieć długość co najmniej 6 znaków. Proszę spróbować ponownie.<br><br>';
  31. echo "<span id=\"href2\"><a href=\"javascript:history.back();\">Wstecz</a></span>";
  32. }
  33. if(sha1($_POST[stare_haslo]) <> $row[haslo])
  34. {
  35. echo 'Poprzednie hasło nie jest nieprawidłowe<br><br>';
  36. echo "<span id=\"href2\"><a href=\"javascript:history.back();\">Wstecz</a></span>";
  37.  
  38. }
  39.  
  40. else
  41. {
  42.  
  43. // próba uaktualnienia
  44. zmien_haslo($_SESSION['prawid_uzyt'], $stare_haslo, $nowe_haslo);
  45.  
  46.  }
  47.  
  48.  
  49. ?>



pozostałe funkcje
  1. function tworz_naglowek_html($tytul)
  2. {
  3. // wy?wietlenie nag3ówka HTML
  4. ?>
  5. <html>
  6. <head>
  7.  
  8. <style>
  9. body { font-family: Verdana, verdana, Helvetica, sans-serif; font-size: 13px }
  10. li, td { font-family: verdana, Helvetica, sans-serif; font-size: 13px }
  11.  </style>
  12. </head>
  13. <body>
  14.  
  15.  
  16. <?php
  17. if($tytul)
  18. tworz_tytul_html($tytul);
  19. }
  20.  
  21. function tworz_stopke_html()
  22. {
  23. // wyświetlenie stopki HTML
  24. ?>
  25. </body>
  26. </html>
  27. <?php
  28. }
  29.  
  30. function tworz_tytul_html($tytul)
  31. {
  32. // wy?wietlenie tytu3u
  33. ?>
  34. <h2><?php echo $tytul;?></h2>
  35. <?php
  36. }
  37.  
  38. function tworz_HTML_URL($url, $nazwa)
  39. {
  40. // wy?wietlenie URL-a jako 3?cza i nowa linia
  41. ?>
  42. <br /><a href="<?php echo $url;?>"><?php echo $nazwa;?></a><br />
  43. <?php
  44. }
  45.  
  46. function wyswietl_informacje_witryny()
  47. {
  48. // wyświetlenie informacji marketingowych
  49. ?>
  50.  
  51. <?php
  52.  
  53. }
  54.  
  55. function wyswietl_form_log()
  56. {
  57.  
  58. $poprzednia_nazwa = session_name ("WebsiteID");
  59. ?>
  60.  
  61.  
  62. <a href="nowa_rejestarcja.php">Jeszcze nie członek?</a>
  63. <form method=post action="czlonek.php" >
  64. <table bgcolor=#cccccc>
  65.  <tr>
  66.  <td colspan=2>Logowanie członków:</td>
  67.  <tr>
  68.  <td>Nazwa użytkownika:</td>
  69.  <td><input type=text name=user></td></tr>
  70.  <tr>
  71.  <td>Hasło:</td>
  72.  <td><input type="password" name="haslo"></td></tr>
  73.  <tr>
  74.  <td colspan="2" align="center">
  75.  <input type=submit value="Logowanie"></td></tr>
  76.  <tr><td>
  77. <input type="checkbox" checked="checked" name="pamietaj" value="ok"><font size="1"> - Zapamietaj mnie!  </font>
  78.  </td></tr>
  79.  
  80.  </table></form>
  81. <?php
  82. }
  83.  
  84. function wyswietl_form_rej()
  85. {
  86. ?>
  87.  <script language="javascript" type="text/javascript">
  88. <!--
  89. function java(f) {
  90.  
  91.  
  92.  
  93. user = f.autor.value;
  94. haslo = f.tresc.value;
  95. email = f.email.value;
  96. haslo2 = f.haslo2.value;
  97.  
  98. if (user=="") {
  99. alert("Musisz wypełnić pole: imie lub nick");
  100. return false;
  101. }
  102. if (haslo=="") {
  103. alert("Musisz wypełnić pole: imie lub nick");
  104. return false;
  105. }
  106. if (haslo2=="") {
  107. alert("Musisz wypełnić pole: imie lub nick");
  108. return false;
  109. }
  110.  
  111. if (email=="") {
  112. alert("Wpisz adres eMail");
  113. return false;
  114. }
  115.  
  116.  
  117. if (email != "") {
  118. var re = new RegExp("[^@]{1,}[@]{1}[^@.]{1,}[.]{1}[^@]{1,}","gi");
  119. var wynik = re.test(email);
  120. if (wynik == true) {
  121. window.alert("Adres prawidłowy, wysyłam formularz.");
  122. return true;
  123. }
  124. if (wynik == false) {
  125. window.alert("Nieprawidłowy adres e-mail.");
  126. return false;
  127. }
  128. }
  129.  
  130. return true;
  131. }
  132. // -->
  133.  
  134. </script>
  135. <style>
  136. td{padding:0.25em 1px;}
  137.  td.lbl{text-align:right;}
  138. tr.required td.lbl{background:#FCC; border-left: 0.5em solid:red;}
  139. td.lbl{background:#CFC; border-laft: 0.5em solod:green;}
  140.  
  141. </style>
  142.  <form method="post" action="?co=newlog" id="form" name="form" onSubmit="return java(this)">
  143.  <table bgcolor="#ffffff" align="left" width="100%" cellpadding="0" cellspacing="0">
  144.  <tr class="required">
  145.  <td class="lbl">Adres e-mail:</td>
  146.  <td class="required"><input type="text" name="email" size="30" maxlength="100"></td></tr>
  147.  <tr class="required">
  148.  <td class="lbl">Preferowana nazwa użytkownika :</td>
  149.  <td valign=top><input type="text" name="user"
  150.  size="16" maxlength="16"></td></tr>
  151.  <tr class="required">
  152.  <td class="lbl">Hasło(pomiędzy 4 i 16 znaków):</td>
  153.  <td valign=top><input type="password" name="haslo"
  154.  size="16" maxlength="16"></td></tr>
  155.  <tr class="required">
  156.  <td class="lbl">Potwierdź hasło:</td>
  157.  <td><input type="password" name="haslo2" size="16" maxlength="16"></td></tr>
  158.  
  159.  <tr>
  160.  <td colspan=2 align=center>
  161.  <input type="submit" value="Rejestruj"></td></tr>
  162.  </table></form>
  163. <?php 
  164.  
  165. }
  166.  
  167.  
  168.  
  169. function wyswietl_dodaj_zak_form()
  170. {
  171. // wy?wietlenie formularza do dodania nowych zak3adek
  172. ?>
  173. <form name=tabela_zak action="?co=dodaj" method=post>
  174. <table width=250 cellpadding=2 cellspacing=0 bgcolor=#cccccc>
  175. <tr><td>Nowa zak3adka:</td><td><input type=text name=nowy_url value="http://"
  176. size=30 maxlength=255></td></tr>
  177. <tr><td colspan=2 align=center><input type=submit value="Dodaj zak3adke"></td></tr>
  178. </table>
  179. </form>
  180. <?php
  181. }
  182.  
  183. function wyswietl_haslo_form()
  184. {
  185.  ?>
  186.  <br />
  187.  <form action="?co=newpasswort" method="post">
  188.  <table width=250 cellpadding=2 cellspacing=0 bgcolor=#cccccc>
  189.  <tr><td>Poprzednie hasło:</td>
  190.  <td><input type="password" name="stare_haslo" size="16" maxlength="16"></td>
  191.  </tr>
  192.  <tr><td>Nowe hasło:</td>
  193.  <td><input type="password" name="nowe_haslo" size="16" maxlength="16"></td>
  194.  </tr>
  195.  <tr><td>Powtorzenie nowego hasła:</td>
  196.  <td><input type="password" name="nowe_haslo2" size="16" maxlength="16"></td>
  197.  </tr>
  198.  <tr><td colspan=2 align=center><input type=submit value="Zmiana hasła">
  199.  </td></tr>
  200.  </table>
  201.  <br />
  202. <?php
  203. }
  204.  
  205. function wyswietl_zapomnij_form()
  206. {
  207. // wy?wietlenie formularza zapomnij_HTML do ustawiania nowych hase3
  208. ?>
  209.  <br />
  210.  <form action="?co=haslo" method=post>
  211.  <table width=250 cellpadding=2 cellspacing=0 bgcolor=#cccccc>
  212.  <tr><td>Nazwa użytkownika</td>
  213.  <td><input type=text name=user size=16 maxlength=16></td>
  214.  </tr>
  215.  <tr><td colspan=2 align=center><input type=submit value="Zmiana has3a">
  216.  </td></tr>
  217.  </table>
  218.  <br />
  219. <?php
  220. }
  221. function wypelniony($zmienne_formularza)
  222. {
  223. // sprawdzenie, czy ka?da zmienna posiada warto?a
  224. foreach ($zmienne_formularza as $klucz => $wartosc)
  225. {
  226.  if (!isset($klucz) || ($wartosc == '')) 
  227. return false;
  228. } 
  229. return true;
  230. }
  231.  
  232. function prawidlowy_email($adres)
  233. {
  234.  
  235. if (ereg('^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$', $adres))
  236. return true;
  237. else 
  238. return false;
  239. }

niektóre funkcje mogą być nie potrzebne i do korzystania z nich musisz samemu opracować formularze itd ale zawsze lepsze to niż cały gotowiec bynajmniej się czegoś nauczysz daj znać to napisze reszte
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-2024 Invision Power Services, Inc.