Post
Z PHPEdia.pl
Metoda wysłania danych do skryptu najczęściej poprzez formularz HTML. Po wysłaniu formularza dane są dostępne w tablicy globalnej $_POST. W przeciwieństwie do metody GET nie widzimy jakie dane zostały wysłane do skryptu, widzimy tylko wynik działania.
Formularz wysyłający dane metodą POST
<form method="post" action="odbior.php"> <input name="nazwisko" /> <input type="submit" /> </form>
W pliku odbior.php dane są dostępne w tablicy $_POST
echo $_POST['nazwisko']; //wyświetli dane wpisane w polu "nazwisko"
Tablice w POST
Istnieje możliwość formularzem przesłać dużą ilość danych. Jednak praktycznie wydaje się to nielogiczne. Po co tworzyć kilka pól różnymi nazwami jeżeli chodzi nam o te same dane? W tym celu możemy podpowiedzieć że dane wysyłane do skryptu należą do tego samego klucza np:
<form method="post" action="odbior.php"> Podaj imie: <input name="imie" /> Podaj nazwisko: <input name="nazwisko" /> Podaj linki do swoich prac: <input name="prace[]" /> <input name="prace[]" /> <input name="prace[]" /> <input name="prace[]" /> <input type="submit" /> </form>
zamiast:
<form method="post" action="odbior.php"> Podaj imie: <input name="imie" /> Podaj nazwisko: <input name="nazwisko" /> Podaj linki do swoich prac: <input name="praca1" /> <input name="praca2" /> <input name="praca3" /> <input name="praca4" /> <input type="submit" /> </form>
W skrypcie również łatwiej jest się odwołać:
echo "Dziękujemy <b>".$_POST['imie']." ".$_POST['nazwisko']." za dodanie swoich prac"; echo "<br /> Oto jakie prace dodałeś:<br />"; //wykorzystamy pętlę [[foreach]] foreach ($_POST['prace'] as $praca) echo $praca."<br />";
Formularz możemy jeszcze bardziej uatrakcyjnić dodając wstawki z javascritp'u dzięki którym użytkownik określiłby ile prac chce dodać. Ale to już osobny temat.
