Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zawansowany system rejestracji
b_chmura
post
Post #1





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


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
Go to the top of the page
+Quote Post
3 Stron V   1 2 3 >  
Start new topic
Odpowiedzi (1 - 46)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


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

Ten post edytował skowron-line 11.09.2007, 21:39:38
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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?...
Go to the top of the page
+Quote Post
b_chmura
post
Post #4





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


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
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

* - niepotrzebne skreslic

edit: dołączam sie do pytania:
co tu jest zaawansowanego? Korzystanie z ajaxa to juz chleb powszedni (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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...

Ten post edytował phpion.com 12.09.2007, 14:55:26
Go to the top of the page
+Quote Post
b_chmura
post
Post #7





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


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
Go to the top of the page
+Quote Post
phpion
post
Post #8





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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
Go to the top of the page
+Quote Post
parzol
post
Post #9





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 7.05.2005

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


Zgadzam sie z moim przedmowca!! To przykre zeby takimi tanimi i niemoralnymi zagrywkami zwracac na siebie uwage!!

Lepiej uczyn to wybitnym kodem i wiedza!!


(IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Go to the top of the page
+Quote Post
b_chmura
post
Post #10





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


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
Go to the top of the page
+Quote Post
sf
post
Post #11





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Jakie zmienne globalne? Jakie define? Klasa i constant (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post
b_chmura
post
Post #12





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


@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.
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
b_chmura
post
Post #14





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


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
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no to skoro sie zorientowales wczesniej to trzeba bylo poprawiac (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

No ale na pocieszenie dodam ze zajelo mi to troche czasu. Musialem wymyslic dobre zapytanie by obejsc wszystkie Twoje ify w php.
Go to the top of the page
+Quote Post
b_chmura
post
Post #16





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


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 :)
Go to the top of the page
+Quote Post
lectric
post
Post #17





Grupa: Zarejestrowani
Postów: 167
Pomógł: 1
Dołączył: 22.08.2006
Skąd: universe

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


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.
Go to the top of the page
+Quote Post
sf
post
Post #18





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


http://pl2.php.net/oop - przetłumaczone na język polski (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) na wortalu są też artykuły, ale w mojej opinii na pewno nie tłumaczą podstaw
Go to the top of the page
+Quote Post
mwojcik
post
Post #19





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 22.07.2007

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


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.
Go to the top of the page
+Quote Post
zur887
post
Post #20





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 19.04.2006

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


  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ć (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
ManiQu
post
Post #21





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


Boty chyba poradziły by sobie z nim. Jest przekazywany przez ukryte pole ;]
Go to the top of the page
+Quote Post
b_chmura
post
Post #22





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


jutro czyli chyba dziś spróbuje umieścić poprawiony przez was skrypt plus swoje spostrzeżenia

pozdrawiam
Go to the top of the page
+Quote Post
MaciekDZN
post
Post #23





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 6.01.2008
Skąd: Działoszyn

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


jak dla mnie skryp bardzo dobry (pozniewaz jestem poczatkujacy) ... (IMG:http://forum.php.pl/style_emoticons/default/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
Go to the top of the page
+Quote Post
b_chmura
post
Post #24





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


wejdź w przykład działania w źródło i skopiuj.
Go to the top of the page
+Quote Post
kilas88
post
Post #25





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

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


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 : )
Go to the top of the page
+Quote Post
b_chmura
post
Post #26





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


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.
Go to the top of the page
+Quote Post
daniel1302
post
Post #27





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

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


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ć)
Go to the top of the page
+Quote Post
MajareQ
post
Post #28





Grupa: Zarejestrowani
Postów: 382
Pomógł: 22
Dołączył: 21.05.2007
Skąd: Elbląg

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


Chmura... pozwól że pobawię się Twoim kodem, robiąc to po swojemu, no i bezapelacyjne zabezpieczając go (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
b_chmura
post
Post #29





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Śmiało, jakby co służę pomocą.
Ja tym czasem w ramach praktyki spróbuje obiektowo to szrajbnąć.
Go to the top of the page
+Quote Post
danielv13
post
Post #30





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.12.2006

Ostrzeżenie: (10%)
X----


  1. <?
  2. mysql_select_db("chmura") or die('kurwaaa2');
  3. ?>

Rozwaliło mniee (IMG:http://forum.php.pl/style_emoticons/default/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/
Go to the top of the page
+Quote Post
radmistrz2
post
Post #31





Grupa: Zarejestrowani
Postów: 143
Pomógł: 4
Dołączył: 2.03.2008

Ostrzeżenie: (10%)
X----


przydało by się jeszcze, aby tylko unikalne maile można było wstawiać do bazy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) W php sam bym sobie dopisał ale ajaxa kompletnie nie znam. Mógł by mi ktoś dać jakieś wskazówki?
Go to the top of the page
+Quote Post
Fallout
post
Post #32





Grupa: Zarejestrowani
Postów: 154
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Olsztyn

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


przecież to się nadaje do przedszkole...
Go to the top of the page
+Quote Post
marcio
post
Post #33





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
woyo-sensei
post
Post #34





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 25.10.2008
Skąd: Luton/ UK

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


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 (IMG:http://forum.php.pl/style_emoticons/default/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.

Ten post edytował woyo-sensei 8.11.2008, 18:09:50
Go to the top of the page
+Quote Post
b_chmura
post
Post #35





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


ssij paczkę http://www.informel.pl/~bchmura/upload/rej...rejestracja.rar (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
może w phps są jakieś błędy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ale nie wydaje mnie się.
Go to the top of the page
+Quote Post
woyo-sensei
post
Post #36





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 25.10.2008
Skąd: Luton/ UK

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


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.

Ten post edytował woyo-sensei 9.11.2008, 15:05:10
Go to the top of the page
+Quote Post
michu9010
post
Post #37





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 2.11.2007
Skąd: Włocławek

Ostrzeżenie: (10%)
X----


witam problem z plikiem login.php to tego skryptu rejestracji (IMG:http://forum.php.pl/style_emoticons/default/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??

Ten post edytował michu9010 16.01.2009, 19:51:32
Go to the top of the page
+Quote Post
.radex
post
Post #38





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


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.
Go to the top of the page
+Quote Post
michu9010
post
Post #39





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 2.11.2007
Skąd: Włocławek

Ostrzeżenie: (10%)
X----


no na przyklad chce zabezpieczyc jakis plik do ktorego maja dostep zarejestrowani a jak usune srednik to nic nie pomaga ten sam blad ;/
Go to the top of the page
+Quote Post
phpion
post
Post #40





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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. ?>
Go to the top of the page
+Quote Post
.radex
post
Post #41





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


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ł (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował .radex 16.01.2009, 22:07:55
Go to the top of the page
+Quote Post
michu9010
post
Post #42





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 2.11.2007
Skąd: Włocławek

Ostrzeżenie: (10%)
X----


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 (IMG:http://forum.php.pl/style_emoticons/default/party.gif)
Go to the top of the page
+Quote Post
Babcia@Stefa
post
Post #43





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


  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
Go to the top of the page
+Quote Post
michu9010
post
Post #44





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 2.11.2007
Skąd: Włocławek

Ostrzeżenie: (10%)
X----


jeszcze jedno male pytanko napisalem taki skrypt ale loguje sie (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif)

licze na Wasza pomoc ; (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)

Ten post edytował michu9010 19.01.2009, 21:40:09
Go to the top of the page
+Quote Post
Displace
post
Post #45





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.07.2010

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


Można prosić o zaktualizowanie linków z plikami?
Go to the top of the page
+Quote Post
facial1233
post
Post #46





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 5.11.2010

Ostrzeżenie: (10%)
X----


mi sie strasznie podoba:P czy mozna zakupic licencje czy cos?
Go to the top of the page
+Quote Post
b_chmura
post
Post #47





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


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 (IMG:style_emoticons/default/winksmiley.jpg)

Pozdrawiam
Chmura B.
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:22