Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Vlerësime
  • Futja e php në konfigurimin e uebit të kodit javascript. Variablat PHP në JavaScript

Futja e php në konfigurimin e uebit të kodit javascript. Variablat PHP në JavaScript

Pse çështja e kalimit të një ndryshoreje nga gjuha në gjuhë është një pyetje fillestare? Sepse është e pamundur ta bësh! Gjuhët e programimit funksionojnë secila në mënyrë të pavarur. Dhe transmetimi i drejtpërdrejtë ndërmjet tyre është i pamundur. Më lejoni të shpjegoj pse.

Çështja është se PHP dhe JavaScript janë të lidhura vetëm me kusht. PHP funksionon në server dhe JavaScript funksionon në shfletues.

Më lejoni t'ju kujtoj algoritmin e internetit. Kjo është, çfarë ndodh kur ju kërkoni një adresë ..

  1. Shfletuesi formon titujt e kërkesave, bashkangjit një lloj informacion i rendesishem për veten e tij dhe i dërgon në këtë adresë.
  2. Serveri pranon titujt dhe kupton që dokumenti duhet të kthehet. Ai e kupton që ajo që kërkohet nuk është një dokument, por një program. Më pas ai nis këtë program dhe i jep të gjitha të dhënat që ka marrë nga shfletuesi.
  3. Programi (skripti php) fillon, ekzekutohet dhe thjesht printon rezultatin e punës së tij. Rezultati i punës mund të jetë një faqe html me skriptet JavaScript të përfshira. Por ne e kujtojmë atë në ky moment PHP funksionon dhe JavaScript për të nuk ndryshon nga çdo e dhënë tjetër. Vetëm letra.
  4. Serveri merr atë që programi ka printuar. Bashkangjit titujt e përgjigjeve dhe i dërgon të gjitha te shfletuesi kërkues.
  5. Shfletuesi merr kodin e faqes dhe e shfaq atë. Suplementet skedarët e kërkuar(js, css, foto), i zbaton ato në kodin html. Dhe vetëm tani JavaScript, e integruar në shfletues, është aktivizuar.

Nëse shikoni nga afër këtë renditje pune, mund t'i përgjigjeni pyetjes

Si mund të kaloj një variabël nga PHP në JavaScript?

Nevojitet në kohën e ekzekutimit Skripti PHP thjesht formoni një tekst të tillë që më pas të mund të ekzekutohet në shfletues. Për shembull.

alert("".$var.""); ?>

Nëse krijoni një skedar php me këtë përmbajtje dhe e ekzekutoni nga një shfletues, do të shihni një faqe të zbrazët dhe një mesazh alarmi.

Sigurisht, duhet të mbani mend se sintaksa duhet të jetë JavaScript. Në fakt, kur gjenerojmë kodin JS në PHP, duhet të kujtojmë se së pari php do të gjenerojë diçka dhe se diçka duhet të jetë JS e vlefshme.

V në këtë rast skripti ynë php formon linjën:

Dhe kjo është JavaScript krejtësisht e vlefshme që do të ekzekutohet nga shfletuesi.

Si mund të kaloj një variabël nga JavaScript në PHP?

Siç mund ta merrni me mend, gjërat janë më të vështira këtu. Në fund të fundit, php gjeneron JS, por reagimet nuk nënkuptohen veçanërisht. Pra, ju pëlqen apo jo, do t'ju duhet të krijoni një kërkesë të re në server, duke transferuar të dhënat për skriptin në të. Kemi dy. Zbatimi mund të jetë edhe kërkesa sinkrone edhe asinkrone. Sinkronja do të bëjë që faqja të ringarkohet, ndërsa asinkronja do të përdorë Ajax.

Metoda sinkrone e kalimit të të dhënave në php nga JavaScript

Ky kod do ta ridrejtojë menjëherë përdoruesin te http: //site/index.php Mesazh = Përshëndetje% 2C% 20 server!

Kodi PHP në skedarin index.php do të marrë të dhëna nga GET dhe do të formojë vargje superglobale.

Kalimi i një ndryshoreje në mënyrë asinkrone nga JavaScript në PHP

Kjo do të thotë duke përdorur Ajax... Në fakt, bëhet e njëjta gjë si në rastin e mëparshëm, por faqja e shfletuesit nuk ngarkohet përsëri. Mënyra më e lehtë për ta ilustruar këtë është përdorimi i një biblioteke.

Siç mund ta shihni, gjithçka është edhe më e thjeshtë. Ju nuk keni nevojë të përdorni funksionin encodeURIcomponent, jQuery e bën këtë për ne. Ne përshkruajmë një funksion që merr një përgjigje të serverit dhe e shton atë në variablin e të dhënave. Nëse index.php thjesht kthen vlerën e ndryshores $ _GET, atëherë do të shohim një alarm me tekstin "Serveri u përgjigj: Përshëndetje, server!".

Kalimi i objekteve komplekse nga php në Javascript

Kujtojmë se kur gjeneroni JavaScript nga php, duhet t'i përmbaheni sintaksës JavaScript. Prandaj, duhet të përktheni të dhënat nga pamja PHP në pamjen JavaScript. Mënyra më e lehtë për ta bërë këtë është përdorimi Formati JSON dhe funksioni json_encode () i cili do të konvertojë objektin ose grup php në një varg që, kur ekzekutohet nga motori JavaScript, do të japë një objekt JavaScript.

"123", "key" => "vlera"); $ js_obj = json_encode ($ arr); print""; ?>

Këtu mund të filloni të hutoheni. Por nuk ka asgjë të keqe. Mjafton të mbani mend sekuencën. Php ekzekutohet fillimisht, pastaj JavaScript. Pas ekzekutimit të php, ju merrni:

Kjo, kur të ekzekutohet, do të shfaqë një alarm me tekstin "123".

Total

Duhet mbajtur mend se php gjeneron JS, kështu që transferimi i të dhënave prej tij është mjaft i thjeshtë. Është e nevojshme të formohet JS në të njëjtën mënyrë si formohet html. Vëzhgimi i sintaksës JavaScript.

Një kërkesë shtesë përdoret gjithmonë për të transferuar të dhëna nga JS në PHP. Mënyra se si kryhet është gjëja e dhjetë. Për shembull, një formular mund të gjenerohet dhe dorëzohet. Ose hapni një iframe. Por thelbi mbetet. Duke kuptuar këtë thelb, ju mund të transferoni çdo të dhënë nga shfletuesi në server dhe mbrapa mjaft thjesht.

Është e bukur pyetje e shpeshtë që shfaqet në forume. Në parim, çdo person është në gjendje ta kuptojë vetë. Por nëse ka një pyetje, atëherë ne do të përpiqemi ta trajtojmë këtu.

Pra, ekziston një shfletues. Ky është një program që mund të shfaqë bukur një skedar html në ekran. Ky skedar mund të merret nga shfletuesi vetëm nga 2 vende: nga Interneti dhe nga kompjuter lokal(ose rrjet).

Nëse shfletuesi merr skedarë nga disku i kompjuterit lokal, atëherë ky skedar mund të modifikohet nga kushdo. Për shembull, mund të krijoni një program C ose Pascal që shkruan në skedar html 1000 herë fjala "përshëndetje". Dhe pastaj shfletuesi do të marrë skedarin dhe do ta shfaqë atë në ekranin e përdoruesit. Vini re, shfletuesit nuk i intereson se nga e ka origjinën skedari. Nuk ka të bëjë me të, ai merr html përfundimtar dosje.

Nëse një skedar shfaqet nga Interneti, atëherë shfletuesi shpesh nuk di asgjë për skedarin: as datën, as madhësinë (derisa të përfundojë shkarkimi), as emrin e vërtetë. Nëse këtë skedar në server do të jetë rezultat i funksionimit të një programi, atëherë kjo rrethanë nuk do të prekë në asnjë mënyrë shfletuesin (ai do të jetë përsëri në daulle). Gjuhët e shkrimit bazohen në këtë pronë. Nëse shënoni një skedar php në drejtorinë e uebit në server, atëherë shfletuesi nuk do ta marrë atë vetë, por vetëm rezultatin e PHP që ekzekutoi skedarin php.
Çfarë është JavaScript (JS)? Ky është i njëjti html. Me fjalë të tjera, ky është një grup etiketash shtesë dhe asgjë më shumë. Nëse zëvendësoni ekon " Futni hyrjen"në jehonë"";, atëherë këtë operacion nuk do të ndikojë në asnjë mënyrë në programin PHP. Në fillim, ju keni jehonë. Kur përdoruesi hyn në faqe komanda e dhënë Ekzekutohet PHP, e cila i jep rezultatin shfletuesit. ato. rreshti që ishte në jehonë. Nëse kishte kod JS në linjë, rezulton se shfletuesi do ta marrë atë. Pra, çfarë është JS? Ky, siç zbuluam, është një grup shtesë kodi html teksti që shkon në skedarin html në shfletues dhe ekzekutohet atje. Kjo është ajo që askush nuk dëshiron të kuptojë - PHP funksionon në server, dhe JS vetëm në shfletues. Çfarë ka në shfletuesin tonë? Kodi HTML. Dhe shfletuesit nuk i intereson se nga erdhi. Shfletuesi merr skedarin html dhe e shfaq atë në ekran, duke hequr etiketat dhe gjatë rrugës kodin JS.

Çfarë ju nevojitet për të kaluar një variabël nga PHP në JS? Para së gjithash, të kuptuarit se së pari do të ekzekutohet PHP, e cila krijon një faqe html (dhe gjatë rrugës mund të krijojë kodin JS). Imagjinoni që kishim një skedar të tillë:

dhe tani këtë formulë lexon PHP, dhe më pas fut rezultatin në vendin e duhur në faqen html. Dhe fakti që rezultati do të jetë një deklarim i një variabli të programit JS është vetëm një efekt anësor pozitiv. PHP nuk i intereson se çfarë bën programi ose pse numëroi shumën e 2 dhe 3.


»

Në shumicën e aplikacioneve në ueb, skedarët statikë JavaScript i përshtaten zhvilluesit 100%. Megjithatë, ndonjëherë ndodh zgjidhja më e mirë lidhni PHP dhe gjeneroni përmbajtjen e skedarit JS "në fluturim" (për shembull, merrni çmimet aktuale te produktet nga baza e të dhënave dhe transferojini ato në një program JavaScript për të vërtetuar formularin e porosisë). Si mund të bëhet kjo?

Metoda e parë: e thjeshtë
Natyrisht, zgjidhja më e thjeshtë është të përfshini kodin PHP brenda seksionit të shabllonit tuaj HTML, pasi shanset janë që ai të ketë një shtrirje .php.


Edhe nëse shtesa e shabllonit është .htm ose .html, në shumicën e rasteve serveri i uebit është konfiguruar që të kuptojë përfshirjet e kodit PHP (nëse jo, ka një shembull të thjeshtë në fund të postimit se si të zgjidhet edhe ky problem). Por për sa i përket bukurisë, ky opsion nuk është më eleganti. Do të ishte mirë t'i mbani të ndara mizat dhe kotoletat.

Metoda e dytë: e bukur
Zgjidhja e dytë është të konfiguroni serverin tuaj të internetit për të analizuar skedarët JavaScript për të ekzekutuar kodin PHP. Mjafton të krijosh në dosjen e dëshiruar skedar htaccess ose hapni një ekzistues dhe shtoni linjat e mëposhtme në të:

Aplikacioni AddType / x-httpd-php .js AddHandler x-httpd-php5 .js

Pro et Contra: çfarë na jep?
Pro
  • Mund të përfshini kodin PHP në skedarë me shtesën .js dhe ai do të ekzekutohet automatikisht kur klienti të hyjë në skedarin JavaScript.
  • Ju mund t'i mbani skriptet e tilla "hibride" në një dosje të veçantë - thjesht vendosni skedarin .htaccess të përshkruar më sipër në këtë dosje.
  • Nëse dëshironi t'i mbani të gjithë skedarët JavaScript në një vend (statik dhe hibrid), mund të regjistroni një mbajtës skedari me një shtesë arbitrare, për shembull, .js2 - thjesht modifikoni pak tekstin .htaccess.
  • Ju mund të ndani faqe statike HTML, shabllone dhe skedarë JavaScript.
Kundër
  • Në teori, kjo do të shkaktojë ngarkesë minimale shtesë në server, por duke marrë parasysh ndryshimet me dosje të veçanta ose shtesat e skedarëve, përfitimet duken më të larta.
Shtimi
Në mënyrë që serveri në internet të analizojë skedarët .htm dhe .html dhe të ekzekutojë kodin PHP të përfshirë në to, ju duhet të shtoni linjat e mëposhtme në .htaccess:

Aplikacioni AddType / x-httpd-php .htm .html AddHandler x-httpd-php5 .htm .html Aplikacioni SetHandler / x-httpd-php
Komentet, shtesat dhe shkëmbimi i përvojës janë të mirëseardhura.

KONKLUZIONET

Është mjaft e çuditshme që një shënim i vogël që në fakt ofron vetëm një fragment për zbatimin e shpejtë të një specifiki detyrë praktike shkaktoi një diskutim kaq të nxehtë, në pjesën më të madhe, të ngjashëm me përpjekjet për të treguar teorinë. Komuniteti i famshëm habra në këtë rast linçoi me vetëmohim ato ide që, në parim, nuk u prekën në artikull. Edhe pse ne duhet të bëjmë haraç - ka ende disa mendime të shëndetshme. Dhe përveç kësaj, nuk ka "luks tjetër përveç luksit të komunikimit njerëzor" (sipas Exupery)))).

Kur zhvilloni modulin tuaj, ndonjëherë i drejtoheni paraqitjes (HTML dhe CSS) dhe skripteve shtesë.

E gjithë kjo mund të lidhet veçmas - diçka në trupin e faqes, diçka brenda skedarë të veçantë... Por disa shtesa janë më mirë të futen direkt në vetë skedarin PHP.

Sot do t'ju tregoj dy opsione se si mund të futni HTML, CSS ose JavaScript në kodin tuaj PHP.

Opsioni i parë për futjen e elementeve në kodin PHP

Unë mendoj se nëse jeni edhe pak të njohur me PHP, atëherë e dini se çfarë " jehonë»(Një etiketë me të cilën mund të shfaqni një mesazh në ekran).

Është me ndihmën e tij që ju mund të shfaqni një nga kodet e listuara më parë. Shembull:

Përshendetje Botë!

"; echo $ përmbajtje;?>

Çfarë është këtu ia vlen t'i kushtohet vëmendje? Kuotat... Nëse përdorni thonjëza të jashtme në formën "", atëherë thonjëzat e brendshme të elementeve duhet të jenë "" dhe anasjelltas, përndryshe do të merrni një gabim. Nëse në thelb dëshironi të përdorni të njëjtat thonjëza të jashtme dhe të brendshme, atëherë vendosni një shenjë ikjeje në ato të brendshme:

Përshendetje Botë!

"; echo $ përmbajtje;?>

Në këtë rast, gjithçka do të funksionojë siç duhet.

Opsioni i dytë për futjen e elementeve në kodin PHP

Më pëlqen ky opsion shumë më tepër se i pari. Këtu do të përdorim edhe " jehonë", Si në versioni i mëparshëm, por shtoni një element tjetër " HTML»:

.main { color: red; } HTML; ?>

Këtu mund të futni çdo element, qoftë HTML ose JavaScript. Kuotat nuk luajnë një rol këtu (mund të futni ndonjë), dhe nëse dëshironi, mund të futni variabla për daljen:

Përshendetje Botë!

"; jehonë<< .main { color: red; } HTML; ?>

Shumë mënyrë e përshtatshme për të zbatuar idetë tuaja.

Artikujt kryesorë të lidhur

Kategoritë: