Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zawansowany system rejestracji
Forum PHP.pl > Inne > Oceny
b_chmura
Witam

Przedstawiam wam zaawansowany system rejestracji oparty o bazę MySQL wsparty Ajaxem.

Krótki opis i zalety:
- Przyjazny formularz który "w biegu" sprawdza czy:
- podany login nie jest już czasem zajęty
- podany login nie jest za krótki bądź za długi
- podany mail jest poprawny (zapis)
- podane hasło nie jest za krótkie/długie
- podane hasła są takie same
- podany token jest poprawny
- Mail potwierdzający z aktywacją:
- na mail podany w formularzu zostaje wysłany link aktywujący konto - jeśli do czasu 48 godzin użytkownik nie wejdzie na niego jego login jest znów ogólno dostępny
- Jedno obrazkowy token z tłem:
- token automatycznie generowany poprzez php - wymagana biblioteka gd
- Hashowanie hasła

i wiele wiele innych.

Kod:
- check.php - plik wykorzystywany przez Ajax do na bieżącego sprawdzania formularza
- token.php - plik w którym powstaje obrazek jpg z tokenem
- funkcje.php - plik z funkcjami (poprawność maila i filtrowanie przychodzących danych)
- config.php - plik konfiguracyjny (łączenie z bazą, informacje na temat dopuszczalnych długości danych)
- rejstracja.php - plik główny (w środku przykład budowy tabeli)
- advAjax.js - biblioteka advAjax

Przykład działania - w tym przykład prawidłowego formularza (w kodzie strony niezbędne funkcje do wykorzystania wszystkich możliwości)

Chciałbym abyście go ocenili (możliwie jak najbardziej rygorystycznie)
Poradzili co zmienić/ulepszyć/dodać/usunąć itp itd

liczę na waszą pomoc.

Pozdrawiam
Chmura
skowron-line
wszytko fajnie tylko moglbys fajnei tylko moglbys np w przypadku kiedy sa blednie wypelnione pola zablokowac przycisk wyslania formularza
Kod
function filter($co)//filtruje dane przy rejestracji
{
  $co = addslashes($co);
  $co = strip_tags($co);
  return $co;
}


a mozna tez tak
  1. <?php
  2. return addslashes(strip_tags($co));
  3. ?>

troche mniej kodu

Kod
$max_login    = 15;
$min_login    = 3;
$max_haslo    = 20;
$min_haslo    = 6;

a moze
  1. <?php
  2. define("MAX_LOGIN", 15);
  3. define("MIN_LOGIN",3);
  4. drfine("MAX_HASLO",20);
  5. define("MIN_HASLO",6);
  6. ?>


Kod
if(!empty($new_mail))
{
  function check_mail($email)
  {
    $ok = "/[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,4}/";
    return (preg_match($ok, $email))? true: false;
  }
  if(!check_mail($new_mail))
  {
      echo '<br /><center><font color="Red">Mail "'.$new_mail.'" jest niepoprawny!</font></center><br />';
  }
}

tu piszesz funkcje ktora masz juz zapisana w pliku funkcje.phps wystarczy dolaczyc ten plik i odwolac sie do funkcji

Kod
  $error = '';
$error .= 'Podany Login jest juş zaj�ty!<br />';

mozesz to do tablicy wrzucac i dopiero przy wyswietlaniu dawac <br /> albo wogole w <span style="display:block">
a pokaz jeszcze kod JS bo jakos nie zauwazylem w zadnym pliku
phpion
1) Po błędnym wypełnieniu formularza trzeba go wypełniać na nowo
2) Stworzyłem sobie konto dla loginu składającego się z 3 spacji
3) E-mail postaci ja@ja@ja.pl przechodzi walidację
4) Wpisz jako hasło 'edek' <- bład 6 znaków o czym jestem informowany po przejściu do pola powtórzenia hasła. W pole powtórki wpisuję 'edekkk' i dostaję ten sam komunikat (powinno być że hasła różnią się od siebie i że za krótkie jest 1 bo 2 jest ok). Poprawiam hasło 1 wpisując 'edekkk' i nadal mi przy 2 pisze, że jest za krótkie :| Dopiero przechodząc na pole tokena komunikat znika.

PS: co w tym systemie jest zaawansowanego?...
b_chmura
Cytat
a pokaz jeszcze kod JS bo jakos nie zauwazylem w zadnym pliku


Kod
function ShowHide(element)
{
  if(document.getElementById(element).style.display == '')
  {    
    document.getElementById(element).style.display = 'none';
  }
  else
  {    
    document.getElementById(element).style.display   = '';
  }
}
function Check(adres, element, id)
{
    var co = document.getElementById(id).value;
  advAJAX.get({url: adres+co, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }})
}
function CheckHaslo(adres, adres2, element, id, id2)
{
  var co1 = document.getElementById(id).value;
  var co2 = document.getElementById(id2).value;
  advAJAX.get({url: adres+co1+adres2+co2, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }})
}




Cytat
1) Po błędnym wypełnieniu formularza trzeba go wypełniać na nowo


to mam pokazać błędne dane?

Cytat
2) Stworzyłem sobie konto dla loginu składającego się z 3 spacji
3) E-mail postaci ja@ja@ja.pl przechodzi walidację


moje nie przyuważenie

Cytat
4) Wpisz jako hasło 'edek' <- bład 6 znaków o czym jestem informowany po przejściu do pola powtórzenia hasła. W pole powtórki wpisuję 'edekkk' i dostaję ten sam komunikat (powinno być że hasła różnią się od siebie i że za krótkie jest 1 bo 2 jest ok).

k**** jestem ślepy chyba

Cytat
Poprawiam hasło 1 wpisując 'edekkk' i nadal mi przy 2 pisze, że jest za krótkie :| Dopiero przechodząc na pole tokena komunikat znika.


wykorzystałem zdarzenie onBlur czyi dopiero po odznaczeniu danego pola jest on weryfikowany
nospor
Cytat
to mam pokazać błędne dane
Wyobraź sobie ze wypelnilem full tych pol, przy czym przy jednym sie jorbnalem. I tylko dlatego ze nie potrafisz/nie chcesz/nie umiesz* mi wstawic moich starych danych mam na nowo wszystko wprowadzac? Nie tedy droga. A tak podasz mi to co wprowadzilem, a ja jedynie poprawie to co jest źle.

W sprawdzaniu loginu masz mysql_guery zamiast mysql_query. Popraw to i daj znac, bo chce cos sprawdzic smile.gif

* - niepotrzebne skreslic

edit: dołączam sie do pytania:
co tu jest zaawansowanego? Korzystanie z ajaxa to juz chleb powszedni winksmiley.jpg
phpion
Swoją drogą: chyba nadmiernie wykorzystujesz Ajax. Po co wykorzystujesz go do sprawdzenia poprawności adres e-mail? Do weryfikacji haseł? Do sprawdzenia czy podany login nie jest zajęty - jak najbardziej, jednak do wcześniej wspomnianych elementów dużo lepiej (szybciej) będzie się sprawował JS.

PS: masz porażający sposób informowania o ewentualnych błędach -> config.php i błąd wyboru bazy...
b_chmura
Cytat
W sprawdzaniu loginu masz mysql_guery zamiast mysql_query. Popraw to i daj znac, bo chce cos sprawdzic


poprawiłem

Dzięki temu że napisałem "zaawansowany" wzbudziłem w was większe zainteresowanie - przytaczając mi wszystkie błędy i obalając całe to zaawansowanie mówicie mi co zmienić co jest bee i co dodać wszystko z plusem dla mnie

Jeśli chodzi o JS'owskie szybsze rozwiązania - po prostu znam tylko podstawowe funkcje, nie potrafiłbym skonstruować dobrej funkcji
phpion
Cytat(b_chmura @ 12.09.2007, 18:24:53 ) *
Dzięki temu że napisałem "zaawansowany" wzbudziłem w was większe zainteresowanie

To przykre.

PS: wg mnie to nie system rejestracji, a skrypt rejestracji, który można wykorzystywać tylko w takiej postaci; rozbudowa o dodatkowe pola to zabawa z kodem
parzol
Zgadzam sie z moim przedmowca!! To przykre zeby takimi tanimi i niemoralnymi zagrywkami zwracac na siebie uwage!!

Lepiej uczyn to wybitnym kodem i wiedza!!


guitar.gif
b_chmura
Panowie mnie nie zrozumieli i nie doczytali... nie miałem na myśli że widząc to będziecie piać z zachwytu a jedynie wykrztusicie z siebie więcej by uświadomić mi ze jestem w błędzie - to wszystko idzie z plusem dla mnie
sf
Jakie zmienne globalne? Jakie define? Klasa i constant tongue.gif Bez klasy to ten skrypt jest nie do przeniesienia do innych skryptów ;] Do tego uwielbiam jak ktoś wkłada html do środka klasy, już nie wspominam o używaniu font.
b_chmura
@sf - jeśli chodzi o html i font to nie widzę problemu żeby stosować skoro błędny komunikat zawsze będzie na czerwono a poprawny na zielono.
Jeśli o klasy to nie mam zielonego pojęcia jak one działają jak się wykorzystuje itp itp - gdybyś był tak miły i wprowadził mi jakieś praktyczne (z opisem) podstawy byłbym wielce zobowiązany.
nospor
Twój zaawansowany system rejestracji nie jest bezpieczny. Wlasnie usunalem ci wszystkie rekordy z tabeli pozostawiajac jedynie hackedbynospor. Mam nadzieje ze sie nie gniewasz. Chcialem sprawdzic czy mi sie to uda
b_chmura
sql injection - zorientowałem się jak kazałeś mi bym poprawił literówkę

cały czas pracuje nad kolejną wersją uwzględniając wasze posty i swoje odkrycia

dzięki za zainteresowanie
nospor
no to skoro sie zorientowales wczesniej to trzeba bylo poprawiac winksmiley.jpg

No ale na pocieszenie dodam ze zajelo mi to troche czasu. Musialem wymyslic dobre zapytanie by obejsc wszystkie Twoje ify w php.
b_chmura
w nowej wersji dopuszczalne znaki do wprowadzenia w pola input będę z przedziału a-zA-z0-9_- dodatkowo brak możliwości wprowadzania spacji
z początku myślałem ze jest włączone magic_quotes ale widocznie się myliłem i trzeba będzie zastosować addslashes

Jakbyście mogli to doszukujcie się błędów (na pewno jeszcze są) i piszczcie.

sf - czekam na mały wykładzik :)
lectric
Wyświetlanie błędów obsługi haseł , powinieneś poprawić.
Niepotrzebnie wyświetla komunikat przy powtórnym wpisaniu hasła , skoro hasło w pierwszym polu nie spełnia warunków.
sf
http://pl2.php.net/oop - przetłumaczone na język polski winksmiley.jpg na wortalu są też artykuły, ale w mojej opinii na pewno nie tłumaczą podstaw
mwojcik
Nie sprawdzałem za bardzo jak wygląda twój system rejestracji, oprócz zobaczenia, że działa, ale pokusiłem sie o sprawdzenie co masz na serwerze, jeżeli masz włączone indeksowanie plików w katalogach. I co mi sie udało uzyskać dzięki temu, że masz wszystko niezabezpieczone ?

Kod
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
adm:x:3:4:adm:/var/adm:/bin/false
lp:x:4:7:lp:/var/spool/lpd:/bin/false
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/bin/false
news:x:9:13:news:/usr/lib/news:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucppublic:/bin/false
operator:x:11:0:operator:/root:/bin/bash
man:x:13:15:man:/usr/share/man:/bin/false
postmaster:x:14:12:postmaster:/var/spool/mail:/bin/false
smmsp:x:209:209:smmsp:/var/spool/mqueue:/bin/false
...
...
...


Brzmi znajomo ? Proszę cię - zabezpiecz swoje skrypty, które tam masz i wyłącz indeksowanie - przecież mając taki dostęp jak teraz mam praktycznie dostęp do wszystkiego na tym serwerze.
zur887
  1. <td class="RejestracjaInput" id="token"><img src="token.php?token_s=200&token_w=20&token=C94235"></td>

to chyba jednak ten token nie jest potrzebny, co? w $_SESSION spróbuj go przesyłać winksmiley.jpg
ManiQu
Boty chyba poradziły by sobie z nim. Jest przekazywany przez ukryte pole ;]
b_chmura
jutro czyli chyba dziś spróbuje umieścić poprawiony przez was skrypt plus swoje spostrzeżenia

pozdrawiam
MaciekDZN
jak dla mnie skryp bardzo dobry (pozniewaz jestem poczatkujacy) ... tongue.gif

chcialbym zastosowac ten skrypt na swojej stronie ale nie wiem w jakis posob do niego napisac formularz... tzn chodzi mi dokladniej o token

moglby mi ktos pokazac jakis najprostrzy skrypt (forumlarz) ktory dzialal by z tym skryptem (ja sobie go upiekrze i zmienie tak jak bede chcial)
prosze powiedziec gdzie wkleic formularz
b_chmura
wejdź w przykład działania w źródło i skopiuj.
kilas88
Kolejny błąd:
wypełniasz błędnie formularz, przesyłasz/odświeżasz stronę, po czym nie działa przycisk tokena "Zmień"

Rozwiązanie:
przy wypełnianiu, jeśli ktoś popełnia błąd - blokuj przycisk "Rejestruj"

Porada:
zastosowałbym więcej javascriptu (+alternatywny kod php) sprawdzający poprawność wypełniania formularza

Mimo wszystko na pierwszy rzut oka wydaje się być ciekawy : )
b_chmura
niestety nie mogę udostępnić poprawionego, ulepszonego kodu. Tym samym skrzywdziłbym osobę dla której zrobiłem to odpłatnie.

Myślę że dla ambitnych ten kod z wytyczonymi błędami oraz wskazówkami i tak sie przyda.
daniel1302
Chmura dla mnie super, przeglądałem sobie właśnie przez źródło i na tej bibliotece zrobię sobie logowanie na tej zasadzie. Ostatniu bawiłem się w MVC i właśnie oglądam też ZEND FREAMWORK i tak myślę, lepiej się uczyć z Skryptów niż z kursów(kurs trzeba przeczytać)
MajareQ
Chmura... pozwól że pobawię się Twoim kodem, robiąc to po swojemu, no i bezapelacyjne zabezpieczając go winksmiley.jpg

Wielkie dzięki winksmiley.jpg
b_chmura
Śmiało, jakby co służę pomocą.
Ja tym czasem w ramach praktyki spróbuje obiektowo to szrajbnąć.
danielv13
  1. <?
  2. mysql_select_db("chmura") or die('kurwaaa2');
  3. ?>

Rozwaliło mniee haha.gif

i w ten wlasnie sposob zarabia się u nas ostrzezenia z moderką. Nie dosc ze nabijanie postow to jeszcze odswierzanie starego kotleta
/nospor/
radmistrz2
przydało by się jeszcze, aby tylko unikalne maile można było wstawiać do bazy winksmiley.jpg W php sam bym sobie dopisał ale ajaxa kompletnie nie znam. Mógł by mi ktoś dać jakieś wskazówki?
Fallout
przecież to się nadaje do przedszkole...
marcio
Cytat
przydało by się jeszcze, aby tylko unikalne maile można było wstawiać do bazy

Dodajesz tylko index UNIQUE na dana kolumne w bazie i potem
  1. <?php
  2. if(mysql_query("insert into.....")) echo('ok'); else echo('Blad taki email juz jest w bazie');
  3. ?>

Czy jakos tak
woyo-sensei
Jak dla mnie swietny system! Wielkie dzieki! Moj byl troche niedopracowany i bylo w nim wiele bledow, a ten nadaje sie idealnie. Jesli pozwolisz, skorzystam sobie z niego smile.gif Tylko mam jeden problem. Kiedy wchodze na strone rejestracji od razu pokazuja mi sie wszystkie mozliwe bledy... Do tego po wypelnieniu wszystkich pol formularza i kliknieciu "rejestruj" nie pokazuje sie zaden komunikat o pozytywnym zakonczeniu rejestracji, a wszystkie dane zostaja wyzerowane (jak przy wcisnieciu na "wyczysc"). Dodam ze nic w skrypcie nie zmienialem (procz danych do baz danych, odpowiednie tabele oczywiscie mam utworzone). Moja strona: www.woyo-sensei.x2t.pl/register.php. Zna ktos moze powod tego bledu? Bede wdzieczny za pomoc.
b_chmura
ssij paczkę http://www.informel.pl/~bchmura/upload/rej...rejestracja.rar smile.gif
może w phps są jakieś błędy winksmiley.jpg ale nie wydaje mnie się.
woyo-sensei
Hmm skrypt byl chyba ok poniewaz blad nadal sie powtarza... Nie wiem juz sam... A moze to byc spowodowane tym, ze jednak tabele w mojej bazie nie sa zalozone poprawnie? Uzywalem tego prostego skryptu (edytowany tylko do zalozenia tabel z tej rejestracji):

  1. <?php
  2. include(&#092;"config1.php\");
  3.  
  4. echo&#092;"Łšczenie z bazš danych... \";
  5.  
  6. if ( $db = mysql_connect( $db_server, $db_user, $db_pass ) ){ echo &#092;"OK
  7. &#092;"; }
  8. else{ echo&#092;"BŁĽD
  9. &#092;"; }
  10.  
  11. echo&#092;"Wybieranie bazy danych... \";
  12.  
  13. if ( $log = mysql_select_db( $db_name ) ){ echo &#092;"OK
  14. &#092;"; }
  15. else{ echo&#092;"BŁĽD
  16. &#092;"; }
  17.  
  18. echo&#092;"Tworzenie tabel... \";
  19.  
  20. $query = 'CREATE TABLE `USER` ('
  21.         . ' `id` int(11) NOT NULL auto_increment,'
  22.         . ' `login` varchar(15) NOT NULL,'
  23.         . ' `haslo` varchar(40) NOT NULL,'
  24.         . ' `mail` varchar(40) NOT NULL,'
  25.         . ' `ranga` varchar(5) NOT NULL default 'user','
  26.         . ' `data` int(11) NOT NULL,'
  27.         . ' `ip` varchar(25) NOT NULL,'
  28.         . ' `active` int(1) NOT NULL,'
  29.         . ' `active_key` varchar(32) NOT NULL,'
  30.         . ' `ban` int(1) NOT NULL,'
  31.         . ' `cnt_view` int(255) NOT NULL,'
  32.         . ' KEY `id` (`id`)'
  33.         . ' ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 AUTO_INCREMENT=5;';
  34.  
  35. if ( $log = mysql_query($query) ){ echo &#092;"OK
  36. &#092;"; }
  37. else{ echo&#092;"BŁĽD
  38. &#092;"; }
  39.  
  40.  
  41. echo&#092;"Dodawanie potrzebnych wpisów...
  42.  
  43.  
  44. &#092;";
  45. echo &#092;"Dodawanie wpisu na haslo
  46. &#092;";
  47. $haslo = md5(&#092;"TUTAJ_NASZE_HASŁO\");
  48. echo &#092;"Dodawanie wpisu na loginy
  49. &#092;";
  50. $login = &#092;"TUTAJ_NASZ_LOGIN\";
  51. echo &#092;"Dodawanie wspisu na adres e-mail
  52. &#092;";
  53. $mail = &#092;"NASZ_MAIL\";
  54.  
  55. $query = &#092;"INSERT INTO `users` (`id`, `login`, `password`, `email`) VALUES ('', '$login', '\".md5($haslo).\"', '$email') \";
  56.  
  57. if ( $log = mysql_query($query) ){ echo &#092;"OK
  58. Instalacja zakończona pomy&#339;lnie!\"; }
  59. else{ echo&#092;"BŁĽD
  60. &#092;"; }
  61.  
  62.  
  63. ?>



Wyskakuje blad na samym koncu, ale w bazie chyba wszystko gra.

-----------------------

edit: Ok, juz wszystko dziala. Wielkie dzieki za skrypt i wskazowki jak go mozna poprawic.
michu9010
witam problem z plikiem login.php to tego skryptu rejestracji sciana.gif
  1. <?php
  2. function login($login = empty, $pass = empty);
  3. {
  4.  $return = false;
  5.  $login  = (empty($login))? $_SESSION['login']: md5($login);
  6.  $pass   = (empty($pass))? $_SESSION['pass']: md5($pass);
  7.  
  8.  $dane = mysql_query(&#092;"SELECT * FROM `USER` LIMIT 0,1\");
  9.  
  10.  while($row = mysql_fetch_array($dane))
  11.  {
  12.    if($login == md5($row['login']) AND $pass == md5($row['haslo']))
  13.    {
  14.      $_SESSION['login'] = md5($row['login']);
  15.      $_SESSION['pass']  = md5($row['haslo']);
  16.      $return            = true;
  17.    }
  18.  }
  19.  return $return;
  20. }
  21. ?>

a blad jest taki
Kod
   Parse error: parse error in c:\usr\apache\httpd\html\login\login.php on line 2


i drugie moje pytanie wie ktos moze jak zabezpieczyc jakis plik poprzez ten skrypt??
.radex
Wywal w linii drugiej średnik na końcu

Cytat
i drugie moje pytanie wie ktos moze jak zabezpieczyc jakis plik poprzez ten skrypt??


plik? no way.
michu9010
no na przyklad chce zabezpieczyc jakis plik do ktorego maja dostep zarejestrowani a jak usune srednik to nic nie pomaga ten sam blad ;/
phpion
Zmień:
  1. <?php
  2. function login($login = empty, $pass = empty);
  3. {
  4. $return = false;
  5. $login  = (empty($login))? $_SESSION['login']: md5($login);
  6. $pass   = (empty($pass))? $_SESSION['pass']: md5($pass);
  7. ?>

na:
  1. <?php
  2. function login($login = null, $pass = null);
  3. {
  4. $return = false;
  5. $login  = (is_null($login))? $_SESSION['login']: md5($login);
  6. $pass   = (is_null($pass))? $_SESSION['pass']: md5($pass);
  7. ?>
.radex
function login($login = null, $pass = null)
{

tak powinno być

empty() to nazwa funkcji

A tą funkcją nie zabezpieczysz niczego bo ona jest od logowania, a nie sprawdzania zalogowania

EDIT: phpion mnie wyprzedził tongue.gif
michu9010
a mam jeszcze jedno pytanie jak zrobic formularz logowania i tak zmodfikowac login.php zeby wyswietlam ewentualnie blad i w jaki sposob zabezpieczyc czesc strony tylko dla zalogowanych?? dopiero zaczym zabawe w php party.gif
Babcia@Stefa
  1. <?php
  2. if(isset($_SESSION['login']) AND isset($_SESSION['pass']))
  3. {
  4.    echo 'Gratulacje, znajdujesz się na stronie dla wybranych!';
  5. } else {
  6.    echo 'Jeśli chcesz zobaczyć tą stronę kliknij <a href="Register.php">tutaj aby się zarejestrować</a>.';
  7. }
  8. ?>


Pozdrawiam, WebNuLL
michu9010
jeszcze jedno male pytanko napisalem taki skrypt ale loguje sie party.gif

  1. <?php
  2. include('config.php');
  3. include('funkcje.php');
  4. function login($login = null, $pass = null)
  5. {
  6. $return = false;
  7. $login  = (is_null($login))? $_SESSION['login']: md5($login);
  8. $pass   = (is_null($pass))? $_SESSION['pass']: md5($pass);
  9.  
  10.  $dane = mysql_query("SELECT * FROM `USER` LIMIT 0,1");
  11.  
  12.  while($row = mysql_fetch_array($dane))
  13.  {
  14.    if($login == md5($row['login']) AND $pass == md5($row['haslo']))
  15.    {
  16.      $_SESSION['login'] = md5($row['login']);
  17.      $_SESSION['pass']  = md5($row['haslo']);
  18.      $return            = true;
  19.    }
  20.  }
  21.  return $return;
  22. }
  23. ?>
  24. <form name="login" method="post">
  25. <table width="200" border="0" cellpadding="0" cellspacing="0">
  26.  <tr>
  27.    <td>Login:</td>
  28.    <td><input type="text" /></td>
  29.  </tr>
  30.  <tr>
  31.    <td>Haslo: </td>
  32.    <td><input type="password" /></td>
  33.  </tr>
  34.  <tr>
  35.    <td colspan="2" align="center"><input type="submit" value="Loguj" /></td>
  36.  </tr>
  37. </table>
  38. </form>


w jaki sposob zakonczyc sesje?

session_destroy?

taki plik logout?
i w jaki sposob uzytkownik moze edytowac swoje dane??
przepraszam za swoja natretnosc ale dopiero zaczynam zabawe w php czarodziej.gif

licze na Wasza pomoc ; rolleyes.gif
Displace
Można prosić o zaktualizowanie linków z plikami?
facial1233
mi sie strasznie podoba:P czy mozna zakupic licencje czy cos?
b_chmura
Witam
System był bardzo stary. Wiele od tego czasu się zmieniło.

Jeśli ktoś chce i potrafi mnie zmotywować ($$$) mogę wykonać dla kogoś indywidualny system rezerwacji czy czegokolwiek winksmiley.jpg

Pozdrawiam
Chmura B.
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-2025 Invision Power Services, Inc.