# Formularz HTML - adres zasobu internetowego obsługującego dane formularza HTML

Spójrzmy na następujący kod HTML:

```html
<form>
  <p>
    <label>
      Jaki jest Twój ulubiony kwiat?
      <input type="text" name="ulubiony-kwiat">
    </label>
  </p>

  <p>
    <label>
      Dlaczego ten kwiat?
      <textarea name="powod"></textarea>
    </label>
  </p>

  <p>
    <label>
      Jaki jest Twój ulubiony rodzaj muzyki?
      <select name="rodzaj-muzyki">
        <option>inny</option>
        <option>rock</option>
        <option>pop</option>
        <option>techno</option>
        <option>trance</option>
      </select>
    </label>
  </p>

  <p>
    <button type="submit">zatwierdź</button>
  </p>
</form>
```

Rezultat:

<figure><img src="https://3945955358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR42GcKXoxIh1R4ROdsLU%2Fuploads%2F6PyxdMDv3w9g1iO7WpEK%2Fimage.png?alt=media&#x26;token=f221a223-b9de-4f94-b5ff-afc1e0a6bbb8" alt=""><figcaption></figcaption></figure>

Nasz przykładowy kod HTML reprezentuje formularz HTML, który z kolei reprezentowany jest przez element `form`.

W zawartości naszego przykładowego formularza HTML występują trzy elementy HTML, które mogą przechowywać informację wprowadzoną przez użytkownika.

Wspomnianymi elementami HTML są: element `input`, element `textarea` oraz element `select`.

Ponadto nasz przykładowy formularz HTML posiada przycisk zatwierdzający reprezentowany przez element `button` posiadający atrybut `type` o wartości `submit`.

Gdy wspomniany przycisk zatwierdzający, który został powiązany z naszym przykładowym formularzem HTML, zostanie naciśnięty, wtedy wszystkie powiązane z naszym przykładowym formularzem HTML elementy HTML (które mogą reprezentować daną oraz których wspomniana dana posiada nazwę, która została określona przez nas za pomocą wartości atrybutu `name`) zostaną zauważone przez jeden z mechanizmów przeglądarki internetowej, a następnie nazwy oraz wartości posiadane przez wspomniane dane zostaną przekazane do zasobu internetowego, którego adres możemy określić.

Gdy nie podamy adresu zasobu internetowego, który może obsłużyć dane pochodzące od formularza HTML, wtedy wspomnianym zasobem internetowym jest ten zasób internetowy, w którego zawartości znajduje się formularz HTML, od którego pochodzą wspomniane dane.

Nie wszystkie zasoby internetowe mogą obsłużyć dane pochodzące od formularza HTML, lecz gdy posiadamy zasób internetowy, który może obsłużyć dane pochodzące od formularza HTML (wymagana znajomość języka programowania PHP), wtedy adres takiego zasobu internetowego należy podać jako wartość atrybutu `action` interesującego nas elementu `form`.

Przykład:

```html
<form action="./php/submit-result.php">
  <p>
    <label>
      Jaki jest Twój ulubiony kwiat?
      <input type="text" name="ulubiony-kwiat">
    </label>
  </p>

  <p>
    <label>
      Dlaczego ten kwiat?
      <textarea name="powod"></textarea>
    </label>
  </p>

  <p>
    <label>
      Jaki jest Twój ulubiony rodzaj muzyki?
      <select name="rodzaj-muzyki">
        <option>inny</option>
        <option>rock</option>
        <option>pop</option>
        <option>techno</option>
        <option>trance</option>
      </select>
    </label>
  </p>

  <p>
    <button type="submit">zatwierdź</button>
  </p>
</form>
```

Rezultat:

<figure><img src="https://3945955358-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR42GcKXoxIh1R4ROdsLU%2Fuploads%2FB5lRll5hq5ZQM8v1ZvGC%2Fimage.png?alt=media&#x26;token=8800baf3-6c87-4d8d-ab85-a6105b8bcc70" alt=""><figcaption></figcaption></figure>
