Ocena użytkowników: 5 / 5

Gwiazdka aktywnaGwiazdka aktywnaGwiazdka aktywnaGwiazdka aktywnaGwiazdka aktywna
 

Spis treści

 

3. FORMULARZE

 

Formularze służą do pobierana danych od użytkownika. Dzięki nim można się dowiedzieć kto odwiedza stronę i jakie są wymagania klientów odwiedzających serwis. W sklepach internetowych stosuje się je do podania danych odbioru zamówienia, na forum dyskusyjnym, dane są zapisywane w pliku lub bazie danych. Obecnie często łączy się formularze z JavaScript, w celu walidacji danych po stronie klienta, dzięki czemu zmniejsza się obciążenie serwera. Formularze umożliwiają wysyłanie zarówno tekstu jak i plików, nie stanowi to żadnego problemu pod warunkiem, że w php.ini ustawiono prawidłowo maksymalną pojemność pliku wysyłanego na serwer (inaczej plik nie może zostać wysłany). Można to ustawić również w samym formularzu. W przypadku wysyłania plików na serwer w elemencie form należy zaznaczyć, że plik jest wysyłany za pomocą metody post, atrybut enctype musi zawierać multipart/form-data (w przypadku samego tekstu enctype nie jest potrzebny).

 

Przykład 3. Formularz do wysłania pliku.

 

<!-- Wyświetla formularz do dodania zdjęcia do galerii. -->
<form method="post" action="addphoto1.php?id_gal={$id}" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<table border="1" cellspacing="0" cellpadding="2" align="center">
<tr>
<td align="center" colspan="2">Obrazek</td>
</tr>
<tr>
<td colspan="2" align="right"><input type="file" name="obrazek" size="52" /></td>
</tr>
<tr><td colspan="2" align="right">
<input type="reset" value="Wyczyść" />
<input type="submit" value="Wyślij" />
</td>
</tr>
</table>
</form>

 

Rysunek 2. Przedstawia widok formularza w przeglądarce

 

Na początku przykładu zastosowano komentarz do formularza. Cały formularz musi być zawarty w elemencie <form>. Atrybut method pokazuje w jaki sposób dane będą wysyłane, action URL przetwarzający dane formularza a enctype informuje o przesyłaniu plików.

Element <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> jest niewidoczny na stronie i zawiera informacje o maksymalnej pojemności pliku, (np.: 100 KB), Przy publikowaniu innego pliku, skrypt php uzna, że formularz nie został wypełniony. Dzięki temu nie trzeba w php pisać algorytmu blokującego wysyłanie pliku powyżej ustalonej wartości, gdyż tą częścią zajmuje się sam formularz.

Następny element <input type="file" name="obrazek" size="52" /> pozwala pobrać plik z dysku do formularza. Przyciski typu 'reset' i 'submit' odpowiednio odpowiadają za wyczyszczenie i wysłanie formularza (z plikiem).

 

 

Rys. 2. Przykład formularza wysyłającego plik

Rys. 2. Przykład formularza wysyłającego plik

 

Książki Helion