[Powered by Google Translate] [PHP Web Development] [Tommy MacWilliam] [Ĉi tiu estas CS50.] [CS50.TV] En ĉi tiu video, ni lernos pri la uzo de PHP por reta programado. PHP estas skripta lingvo kiu povas kutimi realigi retejoj sur servilo. A ttt-servilo estas esence maŝino dediĉita al havigi enhavo kiun povas aliri per la interreto. Kiam vi navigas al retpaĝo kiel Facebook.com / home.php La kodo en la dosiero nomata home.php kiuj vivas sur Facebook retservilo ie estos ekzekutita sur tiu servilo. Tiu kodo probable generi iujn eligo kiu siavice estu senditaj de la servilo al via TTT-legilo. Ni uzos la CS50 aparaton kiel TTT-servilo. Via maŝino eble ne estos preskaŭ tiel potenca kiel la maŝinoj en Facebook datumoj centro, sed vi ne havos problemon uzante ĝin por reta programado. Kiam ni navigas al URL kiel http://localhost/hello.php ni agordi la aparaton per apliko nomis la Apache HTTP servilo serĉi dosiero nomata hello.php internon de hejmo / jharvard / vhosts / localhosts / html defaŭlte. Se tiu dosiero ekzistas tiam Apache uzos la PHP-interpretilo ekzekuti la PHP-kodon en hello.php. Se tiu dosiero ne ekzistas do Apache ĵetos oni ne trovis eraro aŭ 404 eraroj, kiujn vi jam probable vidita dum foliumas la retejon. Ni rigardu hello.php. Ni povas vidi ĉi tie ke hello.php generas signalon linio de eligo. Kiam ni kuris hello.php ĉe la komandlinio tra php hello.php ke eligo estis presita la terminalo. Nun, kiam ni aliri ĉi dosieron per URL en la foliumilo lia eliro estos sendita al la TTT-legilo, tiel direktante al la URL, http://localhost/hello.php, Ni povas vidi la eligon en nia TTT-legilo. Ni provu aldoni alian printf al nia saluton mondo programo. Konsentite, ni estrus reen al la retumilo kaj rigardu, kion ni havas. Interesa. Anstataŭ presado alian linion sur ĝia propra linio, kiel vi estus vidinta en la fina stacio, ĝi aspektas kiel alvenis smushed sur la sama linio kiel la aliaj printf, do eble novaj linioj ne funkcios en PHP. Ne tute. Memoru ke HTML estas tipe uzataj por krei retpaĝojn kiu povas esti montrata per retumiloj. Ne nur estas la kordo saluton el php Ne valida HTML, sed memoras ke ni ne povas uzi la \ n karaktero en HTML krei linerompo. Anstataŭ simple outputting ĉenon Ni eligo valida HTML. Per uzo paragrafo etikedoj ĉiu el niaj printf alvokoj estos montrata sur ĝia propra linio, tial nun, kiam ni vizitas la URL indikus valid.php http://localhost/valid.php ni vidas la eligo ke ni serĉas. Nun, se ni konsideru la vikitekston de tiu ĉi paĝo ni povas vidi, ke ni nun rigardas valida HTML, kiun ni kreis, de PHP. Metante ĉiujn niajn HTML ene printf alvokoj Estas kompreneble tuj akiri vere ĝena. Bonŝance ni povas facile miksi HTML-on kaj PHP- en la sama. php dosiero. Memoru, ke ĉiuj niaj PHP-kodo devas esti fermita ene . Io ajn, kiu ne estas fermita ene de tiuj limoj Mi simple esti sendita kiel eliro al la retumilo prefere ol esti ekzekutita. Tio signifas ke ni povas fari ion kiel ĉi tio. Ni simple povas skribi HTML ene de nia. Php dosiero kaj tiam enmeti PHP blokoj kien ni ŝatus iom php kodo estos ekzekutita. Ĉi tie ni difini kelkaj variabloj ĉe la supro de la dosiero, kaj poste ni presi ilin ene de niaj HTML. Nun se ni vizitas ĉi URL http://localhost/mixed.php ni povas vidi niajn taksita PHP ene de nia HTML. Nun ni rigardu kiom ni povas pasi datumoj inter niaj diversaj PHP paĝoj. Anstataŭ diri ni povas diri simple . Ni nun rigardu kiom ni povas pasi datumoj inter niaj diversaj PHP paĝoj. Unu vojo ni povas fari tion estas kodi informo en la URL de tiu paĝo. Kiam foliumas la retejon, vi eble rimarkis ke iuj URLoj enhavi? sekvis per ĉeno enhavante ampersands kaj egalaj signoj. Tiu parto de la URL estas konata kiel la query string, kaj tio permesas al vi efektive pasas argumentojn al via PHP-skripto. La informpeto kordo konsistas klavo valoro paroj, same kiel hash tablo. Egala signo disigas ŝlosilon kaj lia responda valoro dum ampersands disigi paroj. URL kiu similas http://localhost/get.php?foo=bar&baz=qux havas 2 klavo valoro paroj en la informpeto kordo. La ŝlosilo foo mapas la valoro trinkejo, kaj la ŝlosilo Rabado mapas la valoro qux. Ni povas facile aliri tiujn klavo valoro paroj uzante specialan variablon en PHP, $ _GET. $ _GET Estas asocieca tabelo kiu estas aŭtomate popolita informpeto kordo datumojn. Tio signifas, ke donita ĉi URL $ _GET ["foo"] estos egala al la kordo trinkejo. Ni rigardu get.php vidi $ _GET en agado. Ĉi tie ni uzas funkcio nomita var_dump, kiu kiam donita tabelo aŭ aliaj variablo presos ĝin por ni. Nu, se ni simple aliri http://localhost/get.php tiam ni vidos malplenan tabelo ĉar ni ne provizis konsulto kordo. Se ni faros ofertas query string tra http://localhost/get.php?foo=bar&baz=qux tiam ni povas vidi ke la $ _GET variablo enhavu la informpeto kordo ŝlosilo valoro paroj. Sed kion se ni ne volas meti niaj datumoj ene de la URL de paĝo? Por grandaj kvantoj de datumoj, tio povas rezulti en iu bela malbela URLoj kiuj tuj fari nia brila retejo rigardo lama. Ni povas anstataŭ meti la informpeto kordoj en la korpo de la HTTP-petojn anstataŭ la peto de la URL. Poste ni povas uzi PHP la $ _POST variablo aliri la klavo valoro paroj. Unu maniero fari tion estas per HTML formo. Ĉi tie ni havas simplan HTML formo. Rimarku ĉi tie ke la metodo atributo de tiu formo estas posteno. Ĉi tiu diras la retumilo meti la formo de klavo valoro paroj en la korpon de la peto anstataŭ la URL. Se ni uzi la valoro akiri por tiu ĉi atributo tiam la formo de klavo valoro paroj estus anstataŭ iri en la informpeto kordo, tiel ni povus konsenti ili tra $ _GET denove. La ago atributo de la formo rakontas la retumilo kie sendi la datumojn. Jen nia 2 input elementoj havas nomon atributoj. La valoro de la nomo atributoj servos kiel klavojn en niajn datumojn, kaj la valorojn de la teksto enigoj iĝos valoroj de tiuj klavoj. Nun ni rigardu post.php, la dosieron ke tiu formo estas submetita al. Same kiel ni faris antaŭe, ni simple montri la enhavon de la $ _POST variablo. Ni navigi al la formo kun http://localhost/form.php. Nun kiam ni prezentos la formo ni povas vidi, ke la datumoj de form.php trapasas post.php sen appending konsulto ŝnuro al la URL. Nun ni vidis 2 malsamaj manieroj trapasigi datumojn inter PHP paĝoj, ricevi kaj sendi. En niaj ekzemploj, ni uzis 2 malsamaj tipoj de HTTP-petoj. Kiel vi povus atendi, a get peto estis uzata kiam ni popolita $ _GET El la retadreson, kaj post peto estis uzata kiam ni popolita $ _POST. En desegni vian ttt apps estas bona regulo de thumb uzi get petoj kiam via programo nur legi datumojn, kaj post petoj kiam via programo skribos datumojn. Ekzemple, serĉpeto legos datumojn de via app, tial oni get peto sencas. Aliflanke, via app skribos datumoj per io kiel aliĝilo, tial post peto farus pli da senco, kaj tio estas superrigardon de iu el la teknikoj ni uzos en CS50 krei retejojn uzi PHP. Mia nomo estas Tommy, kaj ĉi tiu estas CS50. [CS50.TV]