[PHP] Zróbmy sobie formularz logowania – 4 lekcja php dla początkujących.

Nie wiem czy umiesz html-a czy też nie, jednak jeśli chcesz być programistą aplikacji internetowych to jego minimalna znajomość będzie konieczna. Jednak jeśli zupełnie go nie ogarniasz, załatwimy to teraz w 5 minut. Lepiej jednak, abyś z html-a się doszkolił.

Tym razem na samej górze pliku umieścimy troszkę kodu z html. Będzie tworzył nasz formularz. Nie ucz się tych znaczków z html na pamięć. Gdy chcesz stworzyć formularz wpisz w google: „html form example” i na jego podstawie, uruchamiając logiczne myślenie na 2 minuty, tworzysz to czego ci trzeba. Gdy będziesz się już tym bawił z 3 tygodnie, to napiszesz to z pamięci.

<form method="post">  <!--Deklaracja formularza który będzie wysłany metodą POST-->
Login:<br />
<input type="text" name="wpisanyLogin"><br /> <!--Deklaracja  tekstowego pola formularza o nazwie wpisanyLogin-->
Hasło:<br /> <!--taki o to znaczek br / przenosi nas do następnej linii-->
<input type="text" name="wpisaneHaslo"><br /> <!--Deklaracja pola formularza o nazwie wpisaneHaslo-->

<input type="submit" value="Submit"> <!--Pole formularza typu magiczny przycisk do wysyłania wszystkiego wyżej-->
</form>

Zacznijmy od początku. Pytasz pewno… Co się tutaj dzieje? Zacznijmy od tego że jest to łatwe! 🙂 Chcesz stworzyć formularz ? Piszesz <form> . Ma być wysłany metodą post? Dopisz :method = "post" . Cóż jest to ten tajemniczy POST?  To metoda którą będziesz wysyłał dzisiaj dane i tyle!  Pola formularza tworzysz przez <input> Wybierasz im typ type="" i nazwę name="". Uwaga! Teraz ważna informacja! Poprzez nazwę, (namepola, w skrypcie php, będziemy się odwoływać, do tego co wysłał nam użytkownik formularzem.

Chcemy zobaczyć co wysłał nam użytkownik formularzem. prawda? Możemy je przejrzeć taką o to magiczną funkcją print_r(). Najlepiej zapisz ją gdzieś. Będziesz jej używał za każdym razem gdy masz w programie jakieś dziwne „coś” i nie wiesz cóż to takiego, ukryte jest w środku.

Funkcji jeszcze pewnie nie używałeś. Zapamiętaj, że jeśli chcesz jej coś podać to dajesz jej to między nawiasy np. print_r($tajemnaZmienna). Funkcja wtedy kopiuje sobie to co schowane jest w $tajemnaZmienna, robi z tym różne dziwne rzeczy a potem zwraca to czego chcemy. W tym wypadku będze to struktura tajemnej zmiennej 🙂

Ale wróćmy do formularza. Potrzebujemy zobaczyć to co zostało wysłane protokołem POST. Będzie to schowane w tablicy o nazwie $_POST. No fajnie, ale cóż to takiego jest ta tablica? Zmienną porównałem do teczki, w której chowamy jedną kartkę. Tablica będzie szafką z szufladami. Każda szuflada wygląda tak samo, jednak ma przyklejoną kartkę z nazwą, albo numerkiem. Do takich szufladek, możemy wkładać, takie rzeczy jak do zmiennych. W tym wypadku będzie to szafka o nazwie $_POST z szufladami o nazwach: wpisanyLogin oraz wpisaneHaslo.

Sprawdźmy czy jest tak rzeczywiście korzystając z funkcji print_r();

<form method="post">  <!--Deklaracja formularza który będzie wysłany metodą POST-->
Login:<br />
<input type="text" name="wpisanyLogin"><br /> <!--Deklaracja  tekstowego pola formularza o nazwie wpisanyLogin-->
Haslo:<br /> <!--taki o to znaczek br / przenosi nas do następnej linii-->
<input type="text" name="wpisaneHaslo"><br /> <!--Deklaracja pola formularza o nazwie wpisaneHaslo-->

<input type="submit" value="Submit"> <!--Pole formularza typu magiczny przycisk do wysyłania wszystkiego wyżej-->
</form>

<?php

if(!empty($_POST)){

/*empty() to funkcja, która sprawdza, czy nasza szafka (tablica) o nazwie $_POST jest pusta. Jeśli tak jest to zamienia się ona w wartość true. Jednak my chcemy, aby if wykonał się jeśli nie jest ona pusta. Temu przed empty() jest wykrzyknik. Jest on zaprzeczeniem.  Do if-a trafi false. Przemyśl to, zrób sobie kawę, przemyśl drugi raz i przetestuj sam.

*/

print_r($_POST);

}

?>

Do danych które wysłał użytkownik możesz odwołać się pisząc np:

$_POST['wpisanyLogin'];

Chcesz wypisać zawartość? Napisz przed tym echo:

echo $_POST['wpisanyLogin'];

Jest to odwołanie do elementu tablicy $_POST, który nazywa się ‚wpisanyLogin’. Zwykłe kwadratowe nawiasy i apostrofy bo nazwa jest wartością tekstową. Banał.

Wersja wytłumaczona na przykładzie szafki:

$nazwaSzafki['napisNaSzufladzie'];

Możesz też wrzucić to do nowej zmiennej o nazwie login. Pomyśl jak.

Rozbuduj ten formularz analogicznie do przykładu. Dodaj pola adres, imię, nazwisko czy też numer buta. A Potem if-em porównaj rozmiar buta z jakąś wartością i wyświetl komunikat, że sklep nie sprzedaje butów dla wielkoludów. Ten skrypt nie musi mieć głębszego sensu. Musisz go po prostu przećwiczyć!

Operatory do porównywania wartości:<><=,>=.

Sprawdź sam jak to działa. Formularz ten rozbudujemy dokładniej w lekcji następnej w której rozszerzę temat tablic.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *