ComputerSoftware

PHP variable global kulo msebenzi. Yenza umsebenzi omtsha okanye umahluko yehlabathi PHP

Ukudala indawo epheleleyo, nto leyo eye ukusebenza ngokubanzi kufuneka ukwazi lukhulu. Kodwa yintoni ukumenza ekhethekileyo ngokwenene - kuba PHP. Variable global kwi ulwimi lokuprograma ayisetyenziselwanga rhoqo kakhulu, kodwa maxa wambi ukuze uyazi ukuba isebenza njani, ngamanye amaxesha kuyimfuneko. Yiloo nto ukufunda ntoni na kwaye isebenza njani, siza kuyenza kweli nqaku.

kwenkululeko

Ngoko ukubiza imeko apho variable kwaye sizimisele. Kwiimeko ezininzi, kufuneka umda omnye kuphela. Xa izinto zehlabathi PHP zilayishwe kwezinye iifayile, ngoko kusenokuba ebandakanya (kuquka) kwaye ezifunekayo (zifuna).

Ngokunga gqibekanga, ukuba ziphelela umsebenzi ububanzi bendawo. Kwaye ukuba ukwenza njani bume iifayile ibonwa imida yayo, nto leyo ngakumbi kwaye usebenzise? Ukuza kuthi ga ngoku, kwaye zinikwe kwi PHP variables zehlabathi.

Le igama "jikelele"

Apha ukuvakalisa njani variable global ukuba PHP? Ekufikeleleni kule njongo kuya kusinceda igama elithi "ihlabathi". Kuyimfuneko ukuba babeke phambi variable ukuba ufuna ukwenza jikelele (narimer, global «variable").

Emva kokuba ukuphunyezwa imiqondiso enjalo, i-data baya kukwazi ukusebenza kunye nayiphi na ifayile. Ukuba ethile kukho iimbekiselo kule variable, inkqubo iya kusoloko sinikele ingqalelo kwinguqulelo lwehlabathi.

Kutheni ulwimi engaqhelekanga? Isibakala sokuba ngaxeshanye kusenokubakho iinguqulelo zasekuhlaleni. Kodwa iya kufumaneka kuphela ezo fayile apho isaziso. Yaye bonke abanye uya kwenza izinto zehlabathi udidi PHP. Ngoko kufuneka silumke. Kwaye ukuba akukho mathandabuzo, nantsi umzekelo ukuba zikhangeleka ngathi: a lwehlabathi.

Ngenxa ukuba ifayile omnye uya kukwazi ukufikelela eziliqela ezahlukeneyo, oko kuya kubangela ukuba iyangqubana. Kodwa sinako Asinakutsho siqiniseke - zasekuhlaleni okanye variable global efundwayo okanye wasilela ngokupheleleyo. Ngoko ke, ukuba abhalise kumsebenzi, kufanele kungabikho ngxaki. Kodwa ke ukusetyenziswa variable ukuba imida yayo ibe yingxaki. Ngoko ke, isakhiwo koqulunqo ikhowudi eziyimfuneko ngokusondeleyo esweni kwaye qinisekisa ukuba akukho kukho nkqu yimfuneko ukuba ungquzulwano uthe wavuka.

Enye ngumfuziselo ukurekhoda

Ngaba kunokwenzeka PHP ukwenza variable global ngenye indlela? Ewe, akukho nokuba abe mnye. Okokuqala, makhe sihlolisise izinto $ GLOBALS. Oku liyindlela yobeko associative. Undoqo kuyo - ligama. Njengoko ixabiso imixholo isebenza variable global. Kufuneka kuqatshelwe ukuba uluhlu emva kokuba isaziso ikhona na umda. Oku kunika isizathu sokukholelwa ukuba superglobal. Kubonakala njalo: $ GLOBALS [ 'bume'].

Oluchazwe / superglobals

Kuzo zonke ulwimi lokuprograma kukho eminye amagama ukuba iqeshwe ezinye imisebenzi yayo. Ngoko ke, ukuba adale PHP variables kwihlabathi igama elifanayo ngeke isebenze.

Le ulwimi lokuprograma uneempawu zawo. Ngoko ke, kubalulekile ukuba izinto ezichazwe apha uhlohla "super", oko kukuthi, azifumaneki kuzo zonke iindawo. njani Nduiyilungisa ngayo? Ukuze variables achazwe ifumanekileyo indawo ezinye, kufuneka kuthiwe ngolu hlobo lulandelayo :. Global «variable" Kubonakala ukuba efanayo njengoko sasinixelele ngenxa engaphambili, akunjalo? Oku kuyinyaniso, kodwa hayi kakhulu. Makhe sijonge 'ukulwa "sele umzekelo kuthi:

  • $ Jikelele HTTP_POST_VARS;
  • echo $ HTTP_POST_VARS [ 'igama'].

Uziva umahluko phakathi kwabo? Qaphela ukuba PHP variables ngamazwe akunyanzelekanga ukuba zisetyenziswe ngaphakathi msebenzi. It nokuba zibekwe ifayile esele ifakiwe kulo.

Links kunye nokhuseleko

Njengoko ubona, xa PHP ukudala variable akuyongxaki. Kodwa ngaba kukho nayiphi na links ezithile isalamane? Ewe, kusenokubakho ukuziphatha engalindelekanga xa usebenzisa jikelele. Kodwa phambi koko, a backstory kancinane.

In version 4.2.0 lo myalelo nge register_globals engagqibekanga yatshintsha ukususela kwi-kurhulumente ukuya off. Ukuze abasebenzisi abaninzi, oku kubaluleke kakhulu, kodwa ndabulaleka. Ngapha koko, oku kuchaphazela ngqo ukhuseleko zemveliso. Ukuba ufuna ukwenza i variable, PHP-umyalelo kule iparameter ngokuthe ngqo. Nangona kunjalo, ukusetyenziswa olungachanekanga sele ukudala izandulela zokhuseleko.

Ngoko ukuba register_globals ivuliwe, phambi kokuba uphumezo ikhowudi ebhaliweyo ukuqaliswa izinto ngezinto ezahlukeneyo ukuba kuyimfuneko, umzekelo ukuthumela HTML-iifom. Ngoko, kwagqitywa ekubeni ukuyicima.

Kutheni imeko yalo myalelo kwi PHP variable ufumbethe? Inyaniso kukuba xa imeko ababhekisi phambili musa njalo ngokuqiniseka ukuba ngokwabo ukuphendula umbuzo apho avela khona. Kwelinye icala, kulula ukubhala ikhowudi. Kodwa ke enye - loo nto umngcipheko wokhuseleko. Ngoko ke, ukuze kungabikho iimpazamo, kwakunye data ukuxuba myalelo sele zikhubaziwe.

Ngoku makhe sikhangele ukuba / ikhowudi olukhuselekileyo, ngokunjalo nendlela ukubhaqa iimeko apho zokupapashwa PHP variable lukhatshwa yimizamo ukuphazamisana data kaThixo. Oku kuyimfuneko ukuze udale kuphela entle, kodwa ngcembe amanxuwa musa zonakalisa umntu wokuqala ofumanekayo ukusebenza.

ikhodi

Makhe Ungacwangcisa umahluko kuyinyaniso ukuba abo baye eligunyazisiweyo:

ukuba (authenticate_user ()) {
$ Angagunyazisa = oyinyaniso;
}

ukuba ($ Qinisekisa i) {
ziquka "/highly/sensitive/data.php";
}

Kule meko, variable nga ububoniswe ngasemva kokubhaliweyo kokungagqibekanga. Ukuthathela ingqalelo yokuba idata nje kutshintshwa, kwaye umthombo imvelaphi yazo lingakulungele, ngoko nabani unokuwisa uvavanyo kwaye uzenze mntu wumbi. Ukuba oyifunayo, umhlaseli (okanye umntu nje ukwazi kodwa abangenamava) kufuneka kakuhle, logic yethu.

Ukuba ukutshintsha ixabiso myalelo, lo mgaqo kuya kusebenza ngokuchanekileyo, njengoko kuyimfuneko. Kodwa Ukuqalisa eziguquguqukayo nje kuphela ilizwi elihle lwenkqubo, kodwa kusinika isiqinisekiso ethile uzinzo ukunikwa iphepha leempendulo alihlole.

version oluthembekileyo ikhowudi

uyakwazi ukucima okanye ukusebenza imiyalelo, okanye amisele ikhowudi ngxuba ukuphumeza le njongo. Umzekelo, ngolu hlobo:

ukuba (isset ($ _ ISAHLUKO [ 'lomsebenzisi'])) {

echo "Molo {$ _ ISAHLUKO [ 'lomsebenzisi']} ";

} Else {

echo "Molo Guest
";
echo "umsebenzisi Namkelekile!";

}

Yenza ukufaka kulo mzekelo, kuya kuba nzima. Kodwa - kunokwenzeka. Ukuze wenze oku, kufuneka uthathe unonophelo ukuba izixhobo impendulo ekhawulezileyo babonelelwa. Ukuba ufuna ukubandakanya variables ehlabathini PHP, ungasebenzisa ezi zixhobo zilandelayo: ukuba uyazi ukuba yintoni na uluhlu ixabiso bakufumana, kunokwenzeka ukuba babhalise elishicilelwe ukujonga oku nge umdlalo. Kakade ke, oko akuthethi akuqinisekisi ukhuseleko ngokupheleleyo nxamnye amaxabiso endaweni. Kodwa loo nto iinketho kakhulu nzima kakhulu.

Ukhangela izama bazimilise

Makhe sibone uqonde ebhalwe ngayo ngaphambili. In PHP izinto zehlabathi kwi umsebenzi uya kunikwa ngezantsi, kuya kufuneka avakalise ngokwakho. Sinokuthi oku luhlobo wasekhaya phezu nokwenziwa yesihloko isifundo. Nantsi i ikhowudi:

ukuba (isset ($ _ cookie [ 'C_COOKIE'])) {
} Elseif (isset ($ _ GET [ 'C_COOKIE']) || isset ($ _ POST [ 'C_COOKIE'])) {

imeyili ( "administrarot@example.com", "Attention, elishicilelwe phantsi sabhalwa ilinge nokuqhekezwa ukuphazamisana data", $ _SERVER [ 'REMOTE_ADDR']);
senanele "Kwakukho ukhuseleko eyaphukileyo okanye ukuzama ukwenza njalo waziswe nguMlawuli.";
uphume;

} Else {
}
?>

Ngoku incazelo kuso. Okunye C_COOKIE uza kuthi evela kumthombo onokuthenjwa. Ukuba yanelisekile ngokupheleleyo iziphumo ezilindelekileyo, sihlole ixabiso layo kwaye lazise nomlawuli xa iingxaki. Ukuba akezi, ngoko akukho senzo zange mfuneko nokwenza. Kufuneka uqonde ukuba angasebenzi nje umyalelo register_globals akwenzi ikhowudi yakho ukholosile. Ngoko ke, nayiphi na variable elifumana script bayafihlwa kumsebenzisi, kufuneka zihlolwe ukuba ixabiso kulindeleke.

isiphelo

Apha, ngokubanzi, yaye yonke into ofuna ukuyazi malunga ngezinto zehlabathi ngempumelelo nangokukhuselekileyo ukuzisebenzisa emsebenzini wabo. Kakade ke, ukuze kuthi ukuba kukho isiqinisekiso ngokupheleleyo ukuba akukho namnye uya kusebenzisa kuzo akakwazi - Abahlaseli rhoqo ekuphuculeni iindlela zabo kunye nezakhono. Ngoko ke enqwenelekayo ukunciphisa ukusetyenziswa ezona ezahlukeneyo zehlabathi kwi khowudi. Ngethamsanqa, isakhiwo noyilo neempawu le ulwimi lokuprograma ukufikelela kule njongo. ithamsanqa!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 xh.delachieve.com. Theme powered by WordPress.