⊗ppPmFmOFH 299 of 447 menu

Formas apstrāde vienā PHP failā

Iepriekšējā nodarbībā mūsu forma bija izvietota vienā lapā, bet tika iesniegta uz citu. Patiesībā tas nav obligāti. Ja atstāj atribūtu action tukšu vai noņem to pavisam, tad forma tiks iesniegta uz šo pašu lapu.

Kā tas darbosies: pirmo reizi ienākot lapā, mēs aizpildīsim formu ar datiem un nospiedīsim uz pogas. Pēc tam lode tiks atsvaidzināta un tās kods tiks izpildīts vēlreiz, bet jau ar formas datiem.

Apskatīsim piemērā. Pieņemsim, ka mums vienā failā ir forma un tās apstrāde:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Pirmo reizi ienākot lapā, funkcija var_dump izvadīs tukšu masīvu. Bet pēc formas iesniegšanas tā izvadīs jau formas datus. Tas ir, pirmo reizi $_GET būs tukšs, bet otro reizi - saturēs formas datus.

Tas var radīt problēmas. Pieņemsim, ka piemēram, mēs formā ievadīsim skaitļus un vēlamies izvadīt šo skaitļu summu uz ekrāna:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

Šajā gadījumā, pirmo reizi ienākot lapā, mēs redzēsim PHP kļūdas, kas saistītas ar to, ka masīvs $_GET ir tukšs, bet mēs piekļūstam tā elementiem.

Šeit jāsaka, ka jums kļūdas var ne parādīties pārlūkprogrammā. Šajā gadījumā pārbaudiet, vai jums ir ieslēgts PHP kļūdu izvade, kā arī pārliecinieties, ka jums ir pirmais ienākšanas reize lapā un adreses joslā nav formas datu.

Izlabosim problēmu. Lai to izdarītu, pievienosim nosacījumu, kurā pārbaudīsim to, ka forma ir iesniegta.

Piemēram, var pārbaudīt $_GET uz nav tukšs. Ja $_GET nav tukšs - tad forma ir iesniegta un var izpildīt summēšanu. Pretējā gadījumā mums vēl ir piemērots pirmais ienākšana lapā un summēšana netiks izpildīta. Tātad, šeit ir labotais kods:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Jautājiet lietotājam uzvārdu, vārdu un otru vārdu. Pēc formas iesniegšanas izvadiet uz ekrāna ievadītos datus.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt