W formularzach HTML atrybut name w polu <input> określa nazwę zmiennej, pod jaką przeglądarka prześle dane do skryptu. Po wysłaniu formularza metodą POST PHP udostępnia te dane w superglobalnej tablicy $_POST.
Kluczowa zasada jest prosta: name staje się kluczem (indeksem) tablicy, a to, co użytkownik wpisze, staje się wartością. Dlatego dla pola <input name="im"> i wpisanego tekstu "Janek" skrypt otrzyma parę: klucz "im" → wartość "Janek", czyli $_POST["im"] == "Janek".
Odpowiedź "Janek o indeksie im." opisuje właśnie tę relację: "im" to indeks/klucz, a "Janek" to zawartość (wartość) przypisana do tego klucza.
Pozostałe odpowiedzi są błędne z typowych powodów:
- "im o indeksie Janek." odwraca zależność: traktuje wpisaną wartość jako klucz, a nazwę pola jako wartość. W standardowym przesyłaniu formularza jest odwrotnie.
- "im z kolejnym numerem indeksu." sugeruje tablicę indeksowaną liczbowo. $_POST dla pojedynczych pól formularza działa jak tablica asocjacyjna, więc nie ma "kolejnego numeru" wynikającego z tego pola.
- "Janek z kolejnym numerem indeksu." powiela błąd tablicy numerycznej i dodatkowo nie uwzględnia, że to atrybut name wyznacza klucz.
W praktyce, aby dodać dane do bazy, najpierw pobiera się wartość np. $im = $_POST["im"];, następnie wykonuje walidację i zapis (najlepiej zapytaniem parametryzowanym). Sama struktura $_POST pozostaje jednak taka sama: klucze pochodzą z name, wartości z tego, co wpisano w formularzu.