Obsługa wielu pól formularza o tej samej nazwie
Założenie: Nauczymy się, jak w PHP odebrać dane z wielu pól formularza HTML o tej samej nazwie, co jest przydatne np. w przypadku checkboxów lub pól wyboru wielokrotnego.
Krok po kroku:
- Tworzenie formularza HTML: Utworzymy prosty formularz z trzema checkboxami o tej samej nazwie “hobby”:
- Odbieranie danych w PHP (plik process.php): W pliku `process.php` odbierzemy dane z formularza:
<form method="post" action="process.php">
<label><input type="checkbox" name="hobby[]" value="czytanie"> Czytanie</label><br>
<label><input type="checkbox" name="hobby[]" value="programowanie"> Programowanie</label><br>
<label><input type="checkbox" name="hobby[]" value="podróże"> Podróże</label><br>
<input type="submit" value="Wyślij">
</form>
Zwróć uwagę na nawiasy kwadratowe []
po nazwie pola hobby
. To one informują PHP, że oczekujemy tablicy wartości.
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$hobby = $_POST["hobby"];
if (isset($hobby)) {
echo "<p>Wybrane hobby:</p>";
foreach ($hobby as $h) {
echo "<p>- $h</p>";
}
} else {
echo "<p>Nie wybrano żadnego hobby.</p>";
}
}
?>
Kod ten sprawdza, czy formularz został wysłany metodą POST. Następnie pobiera wartości z tablicy $_POST["hobby"]
i wyświetla je za pomocą pętli foreach
.
Ten przykład pokazuje podstawy obsługi wielu pól formularza o tej samej nazwie w PHP. Zachęcamy do eksperymentowania z różnymi typami pól i rozwijania swoich umiejętności!