Dostosowywanie Formularza "Załóż Konto" (Signup Form)
Krok 1
Zanim dodamy dodatkowe pola do formularza rejestracyjnego utworzymy dodatkowe pola w bazie danych MySQL.
Więc musimy zalogować się do swojej bazy przy pomocy phpMyAdmin i utworzyć miejsce na dodatkowe dane.
Potrzebujemy dodać następujące pola :
• ulica_nr_domu
• kod_pocztowy
• miejscowosc
• telefon
• kraj
Zamiast dodawać kolumny pojedynczo możemy wykonać instrukcję SQL aby wstawić nowe kolumny do bazy, będąc już w bazie danych w phpMyAdmin-ie przejdź do zakładki SQL wklej poniższy kod i kliknij wykonaj, (jesli nie będzie błędów zauważysz, że nowe kolumny zostaną utworzone)

ALTER TABLE `konta_uzytkownikow` ADD `ulica_nr_domu` VARCHAR (100) NOT NULL,
ADD `kod_pocztowy` VARCHAR (25) NOT NULL,
ADD `miejscowosc` VARCHAR (100) NOT NULL,
ADD `telefon` VARCHAR (25) NOT NULL,
ADD `kraj` VARCHAR (100) NOT NULL;
Krok 2

Kliknij prawym przyciskiem myszy formularz rejestracyjny, a następnie wybierz "Convert to form" z menu kontekstowego.
Przekształci to obiekt w zwykły formularz w raz z elementami składowymi plus obiekt <HTML> zawierajacy kod PHP do obsługi formularza dzięki czemu można w pełni dostosować układ formularza i kod PHP do własnych potrzeb.
Krok 4
Modyfikacja kodu PHP aby nowe dane były zapisywane w bazie danych.
Kliknij dwukrotnie obiekt <HTML> -o nazwie  Signup aby edytować skrypt.

$newfullname = $_POST['fullname'];
wstaw po nim zmienne dla nowych pozycji. Zauważ, że na razie nie jest realizowana żadna walidacja danych na wejściu. Możesz (a nawet powinieneś) dodać ją  później. Dodatkowo na końcu dodano zmienną która przechowa adres IP użytkownika.

// dodatkowe dane
$miejscowosc = $_POST['miejscowosc'];
$kod_pocztowy = $_POST['kod_pocztowy'];
$ulica_nr_domu = $_POST['ulica_nr_domu'];
$telefon = $_POST['telefon'];
$kraj = $_POST['kraj'];
$ip=$_SERVER['REMOTE_ADDR'];
// end dodatkowe dane
Krok 5
Modyfikacja instrukcji SQL:

$sql = "INSERT `".$mysql_table."` (`username`, `password`, `fullname`, `email`, `active`, `miejscowosc`, `kod_pocztowy`, `ulica_nr_domu`, `telefon`, `kraj`,`ip`) VALUES ('$newusername', '$crypt_pass', '$newfullname', '$newemail', 1, '$miejscowosc', '$kod_pocztowy', '$ulica_nr_domu', '$telefon', '$kraj', '$ip')";
Krok 6
Opublikuj stronę, aby przetestować formularz i skrypt.
Załóz jedno fikcyjne konto i sprawdź (w phpMyAdmin-e) czy wszystkie dane prawidłowo zapisały się do bazy danych.
Jeśli wszystkie dane się zapisały poprawnie, możesz popracować nad walidacją danych z pól które dodałeś, zobacz w skrypcie jak walidowane są inne dane.
Przypominam że bardzo wazne jest sprawdzanie danych odebranych od użytkownika (więcej:patrz wstrzykiwanie kodu)
Krok 3

Dodawanie dodatkowych pól do formularza.
Najprostszym sposobem jest skopiowanie innego pola i nastepnie jego edycja dzięki czemu obiekty będą miały ten sam styl. Nie zapomnij zmienić identyfikatora i nazwyt każdego pola. W tym przykładzie będą to nazwy "miejscowosc", "kod_pocztowy", "ulica_nr_domu", "telefon" i "kraj".
Dla uniknięcia problemów w nazwach pól formularzy (editbox,combobox etc..) nie używamy polskich ogonków,spacji i innych znaków specjalnych, jako tekst w Label oczywiście możemy.
You can download the example project here:
http://www.wysiwygwebbuilder.com/support/customize_signup.zip

W tym poradniku pokażemy, jak dodać dodatkowe pola do obiektu Załóż Konto.
Ten poradnik zakłada, że masz wiedzę na temat PHP i MySQL. Metoda ta nie działa w przypadku bazy danych bazującej na pliku tekstowym  ('usersdb.php'), ponieważ struktura tej bazy danych nie może być zmieniona.
Znajdź wpis:

Można pobrać projekt przykład tutaj:
http://www.wysiwygwebbuilder.com/support/customize_signup.zip
Dodaj więc jeszcze jedną kolumnę w tabeli "konta_uzytkownikow",
czy to metodą jak powyżej wklejając kod w zakładce SQL phpMyAdmin-a:
ALTER TABLE `konta_uzytkownikow` ADD `ip` VARCHAR (25) NOT NULL;
lub będąc w tabeli przejdź do zakładki "Struktura" i użyj polecenia "Dodaj 1 kolumnę(y) Na końcu tabeli", wypełnij pola i zatwierdź.


UWAGA!

Pola farmularza (te oryginalne są walidowane w kodzie PHP) więc jeśli użytkownik wprowadzi swoje imię i nazwisko które będzie zawierało polskie (ąćłóśćźż) otrzyma komunikat o nieprawidłowych danych w polu "fullname".
w takim wypadku należało by dodać polskie litery do skryptu. Przykładowo dla tego pola kod walidacji (linia ~ 39) :
  
if (!preg_match("/^[A-Za-z0-9_!@$.' &]{1,50}$/", $newfullname))
   {
      $error_message = 'Fullname is not valid, please check and try again!';
   }
  
if (!preg_match("/^[ĄĆŁŃÓŚŹŻąćłńóśźżA-Za-z0-9_!@$.' &]{1,50}$/", $newfullname))
   {
      $error_message = 'Pełna nazwa nie jest prawidłowa, należy poprawić i spróbować ponownie!';
   }

należałoby uzupełnić następująco zmieniając przy okazji komunikat na bardziej swojski:



na podstawie : http://www.wysiwygwebbuilder.com/customize_signup.html





Wyjście
---Home------Download------Zakup------Poradniki Online------Szablony------Wsparcie------Forum------Rozszerzenia------Manual------Rózne---
Copyright © 2017