Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rejestracja użytkownika
mcstar
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.07.2003

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


Witam, szukałem na tym forum czegoś podobnego jesli przeoczyłem to od razu mówie sorry biggrin.gif

Obecnie piszę sklep internetowy oparty oczywiście o php i chcę przygotować rejestrację użytkownika, ale ...
No właśnie chciałbym zrobić takie coś, aby użytkownik w chwili kliknięcia przycisku "Rejestruj" miał 100% pewność że nie wystąpi żaden błąd przy rejestracji (nie licze oczywiście problemów z połączeniem z serwerem). Chcę uzyskać coś takiego aby przed wciśnięcem przycisku "Rejestruj" zobaczył wszystkie możliwe błędy... Oczywiście nie ma problemu ze sprawdzeniem w JS czy formularz został wypełniony, czy w każdym polu jest odpowiednia ilość znaków, ale jak zrobić coś takiego:

1) aby po wpisaniu login'u i/lub adresu e-mail użytkownik był natychmiast poinformowany że jest on już zajęty (lub woly)

2) jeśli jest to w ogóle możliwe to jak sprawdzić poprawność adresu e-mail i nie chodzi mi o takie sprawdzenie w stylu czy znajduje się w nim '@' oraz '.' i czy ma więcej niż np. 6 czy 10 znaków, ale czy dany host w ogóle istnieje (na forum jest funkcja, która coś takiego robi - ale jak to zrobić bez przeładowania strony?)


--------------------
Pozdrawiam serdecznie
Marcin
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Patrykuss
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 21.08.2006

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


Co do pierwszego to możesz zastosować ajax do wyciągnięcia danych z pliku. Jeżeli masz jednak wszystko oparte na bazie to raczej na gorąco tego nie zrobisz :/
Go to the top of the page
+Quote Post
dyktek
post
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


możesz w pole, które jest wpisany login dodać zdarzenie js, w momencie gdy user już wpisze login i wyjdzie z pola w tle przy pomocy ajaxa zostanie wysłane zapytanie do jakiegos tam kodu php, który sprawdzi czy taki login istnieje w bazie.
Go to the top of the page
+Quote Post
mcstar
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.07.2003

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


Patrykuss - dokładnie 100% informacji jest w MySQL'u jeśli chodzi o 1 punkt mojego pytania. Czy jedynym rozwiązaniem było by dynamiczne generowanie pliku XML w chwili wyświetlenia formularza rejestracyjnego i wyciąganie z niego informacji? Jesli tak, to od razu powstaje kolejne pytanie, mianowicie co zrobić, w sytuacji gdy 2 osoby w tym samym czasie chciały się zarejestrować i zupełnym przypadkiem wybrały ten sam teoretycznie wolny login? (hehehe ale tego już wewnie w "locie" nie da się sprawdzić i zablokować i przeładowanie strony jest konieczne).


--------------------
Pozdrawiam serdecznie
Marcin
Go to the top of the page
+Quote Post
dyktek
post
Post #5





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


ale po co chcesz generować ten plik xml-a blinksmiley.gif przecież możesz wysłać requesta ajaxem bezpośrednio do pliku php, który sprawdzi czy jest taki login

  1. <?php
  2. SELECT COUNT(user) as ile FROM users WHERE user = $_GET['user']
  3.  
  4. if($row[ile] > 0)
  5.  //echo'jest';
  6. ?>


potem w kodzie js odpowiadającym za wysłanie i odbieranie requesta sprawdzasz czy jako odpowiedz dostałeś "jest" jeśli tak to wysłasz userowi info o tym że login istnieje
Go to the top of the page
+Quote Post
mcstar
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.07.2003

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


Fakt --- dzięki za wskazówkę biggrin.gif biggrin.gif -- to chyba idealne rozwiązanie i 1) i 2) pytanie uda się tak rozwiązać. Jeszcze raz dzięki


--------------------
Pozdrawiam serdecznie
Marcin
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 23:23