$ _ GET ja $ _ POST kasutamine PHP -s

Use _ Get _ Post Php

$ _GET ja $ _POST on PHP massiivmuutujad, mida kasutatakse esitatud andmete lugemiseks HTML -vormingus, kasutades vastavalt get and post meetodit. Nende kahe muutuja vahel on kaks peamist erinevust. Massiivi $ _GET väärtused on URL -is nähtavad pärast HTML -vormi esitamist, kuid massiivi $ _POST väärtused pole nähtavad. Massiivi $ _GET kasutatakse ebaturvaliste andmetega töötamiseks ning massiivi $ _POST kasutatakse turvaliste ja suurte andmemahtudega töötamiseks. Selles juhendis on näidatud, kuidas neid kahte massiivimuutujat saab PHP -s kasutada vormilt andmete lugemiseks.

Näide 1: $ _GET [] kasutamine andmete lugemiseks URL -ilt

Looge järgmise skriptiga PHP -fail, et lugeda kasutajanime väärtus URL -i aadressilt ja printida kasutajanime väärtus koos muu tekstiga. Kui kasutajanimele väärtust ei anta, prindib skript teise sõnumi.





// Kontrollige, kas muutuja on seatud või mitte
kui( läinud ($ _GET['kasutajanimi']))
{
// Printige muutuja väärtused
viskas välja 'Praegu sisselogitud kasutajanimi on '. $ _GET['kasutajanimi'].' '
;
}
muidu
{
// Printige sõnum, kui väärtust pole määratud
viskas välja 'Ükski kasutaja pole praegu sisse logitud';
}
?>

Väljund:



Järgmine väljund kuvatakse, kui nimega pole esitatud ühtegi URL -i argumenti kasutajanimi .



Järgmine väljund kuvatakse, kui kasutajanimi on toodud URL -i aadressil nagu allpool.

http: //localhost/php/getpost.php? kasutajanimi = fahmida



Näide 2: $ _GET [] kasutamine kasutajalt andmete lugemiseks

Looge järgmise skriptiga PHP -fail, et lugeda vormilt andmeid, kasutades massiivi $ _GET []. Skriptis on määratletud viiest väljast koosnev HTML -vorm. Vorm esitatakse sisestusväärtuste lugemiseks meetodiga get, kasutades meetodit $ _GETT []. Väljad on eesnimi, perekonnanimi, e -post, telefon ja nupp Edasta. Kui kasutaja klõpsab nuppu Esita, siis läinud) funktsioon tagastab tõese ja järgmisena kontrollib skript ees- ja perekonnanime väärtusi, kas need on tühjad või mitte. Kui mõni välja väärtus on tühi, prinditakse veateade. Kui nii eesnimi kui ka perekonnanimi sisaldavad väärtusi, prinditakse kõik vormi välja väärtused massiivi $ _GET [] abil.


// Kontrollige, kas saatmisnuppu on vajutatud või mitte
kui( läinud ($ _GET['Esita']))
{
// Kontrollige ees- ja perekonnanime
kui($ _GET['fname'] == '' || $ _GET['nimi'] == '' ){
viskas välja „Eesnimi või perekonnanimi ei tohi olla tühi”;
}
muidu
{
// Esitatud väärtuste printimine
viskas välja 'Eesnimi: '. $ _GET['fname'].'
'
;
viskas välja 'Perekonnanimi: '. $ _GET['nimi'].'
'
;
viskas välja 'E -post:'. $ _GET['email'].'
'
;
viskas välja 'Telefon:'. $ _GET['telefon'];
}
}
muidu
{
?>

<html keel='peal'>
<pea>
<tiitel>KasutaminePHP -st$ _GETtiitel>
pea>
<keha>
<vormi meetod='saada'tegevus='#'>
<tabel>
<NS><nt.>
<etiketteest='inputName'>Sisestage oma eesnimi:etikett>
nt.><nt.>
<sisendi tüüp='tekst'nimi='fname'id='fname'><br/>
nt.>NS><NS><nt.>
<etiketteest='inputName'>Sisestage oma perekonnanimi:etikett>
nt.><nt.>
<sisendi tüüp='tekst'nimi='nimi'id='nimi'><br/>
nt.>NS><NS><nt.>
<etiketteest='inputName'>Sisestage oma e -posti aadress:etikett>
nt.><nt.>
<sisendi tüüp='tekst'nimi='email'id='email'><br/>
nt.>NS><NS><nt.>
<etiketteest='inputName'>Sisestage oma telefon:etikett>
nt.><nt.>
<sisendi tüüp='tekst'nimi='telefon'id='telefon'><br/>
nt.>NS><NS><nt.>
<sisendi tüüp='Esita'nimi='Esita'väärtus='Esita'><br/>
nt.><nt.>nt.>NS>
tabel>
vormi>
keha>
html>

}

?>

Väljund:

Pärast skripti käivitamist veebiserverist ilmub järgmine väljund. Siin täidetakse vormiväljad näivandmetega.

Pärast esitamise nupule klõpsamist ilmub järgmine väljund. Siia trükitakse vormi sisendväärtused.

Näide 3: $ _POST [] kasutamine kasutajalt andmete lugemiseks

Looge järgmise skriptiga PHP -fail, et kontrollida massiivi $ _POST [] kasutamist kasutajatelt andmete võtmisel. Skriptis on loodud kasutaja sisselogimisvorm, mis võtab kasutajatelt kasutajanime ja parooli. Vorm esitatakse postitusmeetodiga, et lugeda sisendväärtusi, kasutades $ _POST []. PHP skript kontrollib funktsiooni isset () abil, kas saatmisnuppu on vajutatud või mitte. See funktsioon saab tõeseks, kui kasutaja vajutab vormi saatmisnuppu. Järgmisena kontrollib see kasutajanime ja passiväljade väärtusi. Kui kasutaja sisestab kasutajanime väljale administraatori ja väljale 238967, tagastab tingimuslause tõene ja prindib õnnestumissõnumi; vastasel juhul prindib see tõrketeate.


// Kontrollige, kas saatmisnuppu on vajutatud või mitte
kui( läinud ($ _POST['Esita']))
{
// Kontrollige ees- ja perekonnanime
kui( trimmima ($ _POST['kasutajanimi']) == 'admin' && trimmima ($ _POST['üle andma']) == „238967” ){
viskas välja „Autentitud kasutaja”;
}
muidu
{
viskas välja „Kehtetu kasutaja”;

}
}
muidu
{
?>

<html keel='peal'>
<pea>
<tiitel>KasutaminePHP -st$ _POSTtiitel>
pea>
<keha>
<vormi meetod='postitus'tegevus='#'>
<tabel>
<NS><nt.>
<etiketteest='inputName'>Kasutajanimi:etikett>
nt.><nt.>
<sisendi tüüp='tekst'nimi='kasutajanimi'id='uname'><br/>
nt.>NS><NS><nt.>
<etiketteest='inputName'>Parool:etikett>
nt.><nt.>
<sisendi tüüp='parool'nimi='üle andma'id='üle andma'><br/>
nt.>NS><NS><nt.>
<sisendi tüüp='Esita'nimi='Esita'väärtus='Esita'><br/>
nt.><nt.>nt.>NS>
tabel>
vormi>
keha>
html>


}

?>

Väljund:

Pärast skripti käivitamist veebiserverist ilmub järgmine väljund. Siin täidetakse vormiväljad kehtiva kasutajanime ja parooliga.

Kui kasutaja esitas kehtiva kasutajanime ja parooli, prinditakse järgmine õnnestumisteade. Skripti kohaselt on kehtiv kasutajanimi admin ja parool on 238967 . Kui mõnel väljal on esitatud vale väärtus, kuvatakse tõrketeade Kehtetu kasutaja, trükitakse.

Järeldus

Vormi kasutamine on iga veebirakenduse oluline ülesanne, kuna enamikus veebirakendustes on vaja kasutaja andmeid. Massiivid $ _GET [] ja $ _POST [] on väga kasulikud PHP muutujad, et lugeda kasutaja esitatud andmeid mis tahes HTML -vormi kaudu. Kuid vorm peab sisaldama nuppu Esita, et kasutaja sisestatud andmed vormi abil serverisse saata. Selles õpetuses selgitatakse massiivi $ _GET [] kasutamist URL -aadressilt andmete ja vormiandmete lugemiseks hankemeetodi abil ning massiivi $ _POST [] vormiandmete lugemiseks postitusmeetodiga. Loodan, et $ _GET [] ja $ _POST [] kasutamine on lugejatele pärast selle õpetuse lugemist selge.