Różne przykłady wykorzystywania KLone

Spis treści

 

  1. Przesyłanie formularza za pomocą metody POST
  2. Przesyłanie formularza za pomocą metody GET
  3. Przesyłanie pojedynczego pliku
  4. Przesyłanie wielu pliku
  5. Proste korzystanie z sesji
  6. Proste korzystanie z ciasteczek
  7. Jakieś funkcje KLone

 

 

1. Przesyłanie formularza za pomocą metody POST

Poniższy przykład pokazuje w jaki sposób wysłać formularz metodą POST do pliku .kl1, który zostanie przetworzony jako język C. W formularzu nie znajdziemy nic interesującego – prosi tylko o wpisanie swojego imienia [ które to zostanie przechowanie w zmiennej “your_name” ] i kliknięcie na przycisk " Show my name". Plik odbierający post.kl1 zawiera głównie przypisanie do zmiennej name wartość zmiennej "your_name" przesłanej metodą POST. W następnej linii wyświetlamy to co zostało przesłane.

 

post.html

 

post.kl1

 

Aby wyświetlić ten przykład wpisz: http://127.0.0.1:8080/post.html

 

2. Przesyłanie formularza za pomocą metody GET

Poniższy przykład jest podobny do poprzedniego, tylko że wysyła dane przez metodę GET. Oprócz podania imienia przesyła w zmiennej color wybrany kolor przez użytkownika.
W zasadzie zmieniają się funkcje odpowiedzialne za pobranie wartości zmiennych metodą GET.
W zmiennej color pobieramy wybrany color przez użytkownika, a następnie w kolejnych instrukcjach if(){} sprawdzamy, który kolor został wybrany. Jeżeli wartości się zgadzają, to do zmiennej color2 przepisujemy kolory [ albo coś wykonujemy ]. W dalszym kodzie programu wyświetlamy imię i wybrany kolor przez użytkownika.

 

get.html

 

get.kl1

 

Aby wyświetlić ten przykład wpisz: http://127.0.0.1:8080/get.html

 

3. Przesyłanie pojedynczego pliku

Poniższy przykład pozwala na załadowanie pliku na serwer. W zasadzie formularz nas nie interesuje. Interesuje nas za to plik upload.kl1.

 

upload.html

Na początku definiujemy kilka zmiennych:
– filename – ścieżka do przesłanego pliku
– client_filename – nazwa pliku
– mime_type – typ MIME pliku
– file_sz – rozmiar pliku (size_t pochodzi z biblioteki Libu)

funkcja request_get_uploaded_file() pobiera informacje o przesłanym pliku z pola "input_file" to przypisanych zmiennych. Dalej tylko wyświetlamy informacje o przesłanym pliku. 

 

upload.kl1

 

Aby wyświetlić ten przykład wpisz: http://127.0.0.1:8080/upload.html

 

4. Przesyłanie wielu pliku

A co jeśli chcemy załadować kilka plików? W formularzu wystarczy kilka razy przekopiować input z tym samą nazwą. 
W upload2.kl1 zmienia się kilka linii w stosunku do poprzedniego przykładu.
Przede wszystkim, wszystkie zmienne i wartości załadowanych plików przechowujemy w zmiennej uploads.
W pętli for wybieramy te zmienne z formularza, które nazywają się "input_file".
vars_countn() jest funkcją z biblioteki LibU i powoduje zliczenie ilościowe z żądania danej zmiennej.
W request_get_uploaded_file() jest ważna zmienna i, która pobiera i-ty plik z formularza ze zmiennej o nazwie "input_file". Jeżeli ładowalibyśmy tylko jeden plik, wtedy zamiast i należy wpisać 0.

 

upload2.html

 

upload2.kl1

 

Aby wyświetlić ten przykład wpisz: http://127.0.0.1:8080/upload2.html

 

5. Proste korzystanie z sesji

Kolejny przykład jest ciekawym przykładem pokazującym w jaki sposób skorzystać z sesji.
Plik session.html zawiera zwykły formularz, gdzie wpisujemy tylko swoje imię.

 

session.html

 

Plik session1.kl1 pobiera przez metodę POST wartość zmiennej "your_name" i przypisuje ją do zmiennej name.
session_set() powoduje zapisanie do pliku sesji zmiennej wraz z wartością – tutaj do zmiennej username będzie przypisana wartość ze zmiennej name.
Pliki session2.kl1 i session3.kl1 są identyczne. Powodują one wyświetlanie zawartości zmiennej username z sesji przez funkcję session_get(). Dodatkowo wyświetlamy ID sesji przez funkcję session_get_id() oraz przez jaki czas sesja była nieaktywna session_age().

 

session1.kl1

 

session2.kl1

 

session3.kl1

 

Aby wyświetlić ten przykład wpisz: http://127.0.0.1:8080/session.html

 

6. Proste korzystanie z ciasteczek

Poniższy przykład pokazuje w jaki sposób korzystać z ciastek [ cookies ]. Nasz formularz pobiera imię i nazwisko a następnie wysyła zmienne i wartości metodą POST do pliku cookies1.kl1, gdzie wspomniane wartości zostaną przypisane do zmiennych w języku C oraz wyświetlone.
response_set_cookie() powoduje zapisanie ciasteczka o danej zmiennej z daną wartością – inne argumenty są dodatkowe, jeżeli z nich nie korzsytamy ustawiamy na NULL.
Plik cookies2.kl1 wyświetla wartości z ciasteczek.

 

cookies.html

 

cookies1.kl1

 

cookies2.kl1

 

7. Jakieś funkcje KLone

Plik others.kl1 pokazuje kilka funkcji KLone:
– jaki jest adres IP i port na których został uruchomiony KLone
– linię żądania
– nazwę pliku
– adres IP klienta
– nazwa pliku – może być null
– nazwa przeglądarki

 

others.kl1

 

Aby wyświetlić ten przykład wpisz: http://127.0.0.1:8080/others.kl1