[Powered by Google Translate] [PHP Webbutveckling] [Tommy MacWilliam] [Det här är CS50.] [CS50.TV] I denna video får vi lära oss om hur du använder PHP för webbutveckling. PHP är ett skriptspråk som kan användas för att implementera webbplatser på en webbserver. En webbserver är i grunden en maskin dedikerade till att erbjuda innehåll som kan nås via internet. När du navigerar till en webbsida som Facebook.com / home.php koden i filen som heter home.php som lever på Facebook webbserver någonstans kommer att utföras på den servern. Denna kod kommer sannolikt att generera en del utgång vilket i sin tur kommer att sändas från servern till din webbläsare. Vi kommer att använda den CS50 apparaten som en webbserver. Maskinen förmodligen inte kommer att vara nästan lika kraftfull som maskinerna i en Facebook-datacenter, men du har inga problem att använda den för webbutveckling. När vi navigerar till en webbadress som http://localhost/hello.php vi konfigurerar apparaten via ett program som heter Apache HTTP-server för att leta efter en fil som heter hello.php inne i hemmet / jharvard / vhosts / localhosts / html som standard. Om den filen finns sedan Apache kommer att använda PHP tolken att köra PHP-kod i hello.php. Om den filen inte existerar då Apache kommer att kasta en inte hittat felet eller en 404 fel, vilket du förmodligen har sett när du surfar på webben. Låt oss ta en titt på hello.php. Vi kan se här att hello.php genererar en signalledning av produktionen. När vi körde hello.php på kommandoraden via php hello.php att produktionen trycktes till terminalen. Nu, när vi kommer till den här filen via en webbadress i webbläsaren dess produktion kommer att skickas till webbläsaren, så på väg till URL, http://localhost/hello.php, Vi kan se resultatet i vår webbläsare. Låt oss försöka lägga till en annan printf till vårt hello world-program. Okej, låt oss gå tillbaka till webbläsaren och se vad vi har. Intressant. I stället för att skriva ut en annan linje på en egen rad, som du skulle ha sett i terminalen, det ser ut som det blev smushed på samma linje som den andra printf, gör så kanske nya linjer som inte fungerar i PHP. Inte riktigt. Kom ihåg att HTML används vanligtvis för att skapa webbsidor som kan visas av webbläsare. Inte bara är den sträng hej från php inte giltig HTML, men minns att vi inte kan använda \ n tecken i HTML att skapa en radbrytning. Istället för att bara mata ut en sträng låter utgång giltig HTML. Genom att använda stycketaggar var och en av våra printf samtal kommer att visas på en egen rad, så nu när vi besöker den URL som pekar på valid.php http://localhost/valid.php Vi ser den utgång som vi letar efter. Nu, om vi se källan till den här sidan Vi kan se att vi nu tittar på giltig HTML, som vi skapat från PHP. Att sätta alla våra HTML inne printf samtal är naturligtvis kommer att bli riktigt irriterande. Lyckligtvis kan vi enkelt blanda HTML och PHP i samma. php fil. Kom ihåg att alla våra PHP-kod måste vara innesluten i . Allt som inte är innesluten i dessa avgränsare kommer helt enkelt att skickas som utsignal till webbläsaren i stället för att verkställas. Det innebär att vi kan göra något sånt här. Vi kan helt enkelt skriva HTML inne i vår. Php-fil och sedan in PHP-block där vi vill ha lite PHP-kod som ska köras. Här definierar vi några variabler högst upp i filen, och senare vi skriva ut dem inne i vår HTML. Nu om vi besöker denna URL, http://localhost/mixed.php vi kan se vår utvärderade PHP inne i vår HTML. Nu ska vi ta en titt på hur vi kan skicka data bland våra olika PHP-sidor. I stället för att säga Vi kan helt enkelt säga . Låt oss nu ta en titt på hur vi kan skicka data bland våra olika PHP-sidor. Ett sätt vi kan göra det är att koda information in webbadressen till en sida. När du surfar på webben, kanske du har märkt att vissa webbadresser innehålla en? följt av en sträng som innehåller et-tecken och likhetstecken. Denna del av webbadressen är känd som frågesträngen, och detta gör det möjligt att effektivt skicka argument till din PHP-skript. Frågesträngen består av nyckel värde par, precis som en hash-tabell. Ett likhetstecken separerar en nyckel och dess motsvarande värde medan et-tecken separera par. En webbadress som ser ut som http://localhost/get.php?foo=bar&baz=qux har 2 centrala värde-par i frågesträngen. Nyckeln foo kartor till värdefältet, och nyckeln Baz-kartor till värdet qux. Vi kan enkelt komma åt dessa nyckelpar värde med hjälp av en speciell variabel i PHP, $ _GET. $ _GET Är en associativ array som fylls i automatiskt med frågesträngdata. Det innebär att med tanke på denna webbadress $ _GET ["foo"] kommer att vara lika med den sträng bar. Låt oss ta en titt på get.php att se $ _GET i aktion. Här vi använder en funktion som kallas var_dump, som när det ges en array eller annan variabel kommer att skriva ut den för oss. Nu om vi bara åt http://localhost/get.php sedan får vi se en tom array, eftersom vi inte har gett en frågesträng. Om vi ​​ger en frågesträng via http://localhost/get.php?foo=bar&baz=qux då kan vi se att $ _GET variabel kommer att innehålla Frågesträngen viktigaste värdepar. Men vad händer om vi inte vill sätta våra data inne i webbadressen till en sida? För stora mängder data, kan detta leda till några ganska fula webbadresser som kommer att göra vår blanka hemsida ser lamt. Vi kan istället sätta frågesträngen i kroppen av HTTP-förfrågningar snarare än begäran URL. Då kan vi använda PHP: s $ _POST variabeln för att komma åt nyckelpar värde. Ett sätt att göra detta är via ett HTML-formulär. Här har vi en enkel HTML-formulär. Observera här att metoden attributet för denna form är inlägget. Detta talar om för webbläsaren att sätta formulärets nyckelpar värde in i kroppen av begäran i stället för URL-adressen. Om vi ​​skulle använda värdet får för detta attribut då formulärets nyckelpar värde skulle i stället gå in i frågesträngen, så vi kunde komma åt dem via $ _GET igen. Handlingen attribut i formuläret talar om för webbläsaren var att skicka data. Här våra 2 ingångselement har namnattribut. Värdet av namnattribut kommer att fungera som nycklar till våra data, och värdena på text ingångar blir värdena för dessa nycklar. Nu ska vi ta en titt på post.php, filen att detta formulär lämna in till. Precis som vi gjorde innan, vi bara visa innehållet i $ _POST variabeln. Låt oss gå till formuläret med http://localhost/form.php. Nu när vi skicka formuläret kan vi se att data från form.php skickas till post.php utan att lägga till ett frågesträng till URL. Nu har vi sett två olika sätt att överföra data mellan PHP-sidor, få och posta. I vårt exempel har vi använt två olika typer av HTTP-förfrågningar. Som du kanske tror, ​​var en begäran vänja när vi befolkade $ _GET Från URL och ett inlägg begäran användes när vi befolkade $ _POST. Vid utformningen av din webbprogram är det en bra tumregel att använda får förfrågningar när din app bara att läsa data, och efter önskemål när din app kommer att skriva data. Till exempel kommer en sökfråga läsa data från din app, så en begäran få vettigt. Å andra sidan, kommer din app skriver data via något som liknar ett registreringsformulär, så ett inlägg begäran vore bättre, och det är en översikt av några av de tekniker Vi kommer att använda i CS50 för att skapa webbplatser med PHP. Mitt namn är Tommy, och detta är CS50. [CS50.TV]