PHP-de formany bir faylda işlemek

Öňki sapakda bizim formasymyz bir sahypada ýerleşdirilip, başga bir sahypa iberilýärdi. Aslynda bu hökman däl. Eger atribut action boş goýulsa ýa-da öçürilse, onda forma şol bir sahypa iberiler.

Bu nähili işler: sahypa ilkinji gezek girilende biz forma maglumatlary bilen doldurarys we düwmä basarys. Şondan soň sahypa täzelenip, onuň kody ýene-de ýerine ýetiriler, ýöne indi forma maglumatlary bilen.

Geliň mysal üçin garaýaly. Bizde bir faylda forma we onuň işlenişi bar bolsun:

form.php<form action="" method="GET">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

<?php
  var_dump($_GET);
?>

Sahypa ilkinji gezek girilende funksiýa var_dump boş massiw görkezer. Forma iberilenden soň bolsa ol artýk forma maglumatlaryny görkezer. Ýagny ilkinji gezek $_GET boş bolar, ikinji gezek bolsa - forma maglumatlaryny öz içine alar.

Bu problema getirip biler. Mysal üçin, forma üçin biz sanlar girizip we şol sanlaryň jemyny ekrana görkezmek islesek:

html<form action="" method="GET">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

<?php
  echo $_GET['test1'] + $_GET['test2'];
?>

Bu ýagdaýda sahypa ilkinji gezek girilende biz PHP ýalňyşlyklaryny göreris, sebäbi massiwi $_GET boş, ýöne biz onuň elementlerine ýüz tutýarys.

Bu ýerde aýtmak gerek, sizde ýalňyşlyklar brauzerde görünmese-de mümkin. Bu ýagdaýda PHP ýalňyşlyklarynyň görkezilmeginiň açykdygyny barlaň, we şeýle-de sahypa ilkinji gezek girilendigiňize we salgy setirinde forma maglumatlarynyň ýokdugyna göz ýetiriň.

Geliň meseläni çözeliň. Bunuň üçin şert goşarys, onda forma iberilendigini barlarys.

Mysal üçin, $_GET-i boş dälligine görä barlap bolýar. Eger $_GET boş däl bolsa - onda forma iberildi we jemlemek amala aşyrylyp biliner. Beýleki ýagdaýda biz heniz sahypa ilkinji gezek girenimiz we jemleme amala aşyrylmady. Indi düzedilen kod:

html<form action="" method="GET">
  <input name="test1">
  <input name="test2">
  <input type="submit">
</form>

<?php
  if (!empty($_GET)) {
    echo $_GET['test1'] + $_GET['test2'];
  }
?>
Задание 1

Ulanyjydan familiýasyny, adyny we atasynyň adyny soraň. Forma iberilenden soň girizilen maglumatlary ekrana görkeziň.