Formularze
1. Wstęp
Pisanie w PHP wiąże się przede wszystkim z przetwarzaniem danych i operacjach na bazie danych. Tym razem pod lupę weźmiemy formularze. Są one podstawową rzeczą za pomocą których użytkownik wprowadza dane do naszego systemu. Na razie ograniczymy się do odczytania danych i nie będziemy wprowadzać ich do bazy danych.
2. Formularz
Prosty formularz tworzymy w HTML’u za pomocą znacznika <form>. Musimy w nim określić dwa parametry – plik, do którego dane wprowadzone przez użytkownika mają zostać przesłane za pomocą parametru action=””, oraz metodę przesłania danych za pomocą parametru method=””.
W parametrze action podajemy ścieżkę do pliku np. /dane.php natomiast w parametrze method używamy wartość get lub post.
<form action="dane.php" method="get"> <input name="war1" type="text" placeholder="Wartość 1" /> <input name="war2" type="text" placeholder="Wartość 2" /> <input type="submit" value="wyślij" /> </form> |
Jeżeli przesyłamy nasze wartości za pomocą metody get nasze dane zostaną przesłane w sposób jawny. Przycisk „wyślij” przekieruje nas do pliku dane.php, ale adres w pasku naszej przeglądarki będzie wyglądał np. tak:
http://localhost/test/dane.php?war1=7&war2=andrzej
Po ścieżce dostępu do pliku mamy pytajnik ? a po nim wszystkie wartości przekazane w formularzu, czyli war1 oraz war2. Nazwy te są identyczne, jak te które zadeklarowaliśmy w formularzu jako parametr name dla każdego znacznika input.
Jeżeli powyższy formularz prześlemy metodą post, w pasku adresu, nie wyświetlą nam się wartości przekazywane. Przekazane one zostaną niejawnie.
W naszym pliku dane.php aby uzyskać dostęp, do wartości podanych przez użytkownika, możemy to zrobić odczytując dane z tablicy $_GET lub $_POST – zależnie od sposobu przesłania danych.
$war1 = $_GET['war1']; //Przypisanie do zmiennej $war1 wartości war1 przekazanej za pomocą metody GET $war1 = $_POST['war1']; //Przypisanie do zmiennej $war1 wartości war1 przekazanej za pomocą metody POST |
Za pomocą metody GET możemy również tworzyć własne odnośniki, za pomocą których przekażemy konkretne parametry bez używania formularzy.
<a href="dane.php?imie=Jan&nazwisko=Kowalski">Jan Kowalski</a> |
Za pomocą takiego linku, w pliku dane.php, możemy odwołać się do zmiennych $_GET[‘imie’] oraz $_GET[‘nazwisko’] i pozyskać dane, wpisane na sztywno przez twórcę strony.