[Powered by Google Translate] [PHP Web Development] [Tommy MacWilliam] [To je CS50.] [CS50.TV] U ovom videu, mi ćemo učiti o korištenju PHP za izradu web stranica. PHP je skriptni jezik koji se mogu koristiti za provedbu web stranice na web poslužitelju. Web server je u suštini stroj posvećena pružanju sadržaj koja se može pristupiti putem interneta. Prilikom kretanja na web stranici kao Facebook.com / home.php kod u datoteci naziva home.php koja živi na Facebooku web poslužitelju negdje će se izvršiti na tom poslužitelju. Ovaj broj će vjerojatno generirati neki izlaz što će biti poslan s poslužitelja na svoju web pregledniku. Mi ćemo se pomoću CS50 aparata kao web server. Vaš uređaj vjerojatno neće biti tako snažno kao na strojeve u Facebook podatkovnom centru, ali ćete imati problema koristeći ga za izradu web stranica. Kad smo došli do URL-a kao http://localhost/hello.php smo konfigurirati uređaj putem aplikacije pod nazivom Apache HTTP poslužitelja tražiti datoteka pod nazivom hello.php unutar kuće / jharvard / vhosts / localhosts / html po defaultu. Ako da datoteka postoji onda Apache će koristiti PHP tumača izvršiti PHP kod u hello.php. Ako je to slika ne postoji onda Apache će baciti nije pronađena greška ili 404 pogrešaka, koje ste vjerojatno vidjeli tijekom pregledavanja weba. Idemo pogledati hello.php. Možemo vidjeti da se ovdje hello.php generira signal liniju izlaza. Kad smo trčali hello.php na zapovjednoj liniji preko php hello.php da je izlaz bio tiskan na terminal. Sada, kada smo pristupili ovoj datoteku preko URL-a u web pregledniku njegov izlaz će biti poslan na web-preglednik, pa ide na URL, http://localhost/hello.php, možemo vidjeti izlaz na našim web pregledniku. Pokušajmo dodao još jedan printf našoj svjetskoj programu Hello. Ok, neka je glavu natrag u web pregledniku i vidjeti što imamo. Zanimljivo. Umjesto ispisa još jednu crtu na vlastitu liniju, kao što bi vidio u terminal, to izgleda kao da je dobio smushed na istoj liniji kao drugi printf, pa možda nove linije ne rade u PHP-u. Nije dosta. Ne zaboravite da je HTML obično se koristi za izradu web stranice koja se može prikazati web preglednicima. Ne samo da je niz bok s php nije važeći HTML, ali podsjećaju da ne možemo koristiti \ n lik u HTML stvoriti prijelom retka. Umjesto da jednostavno izlaza gudački Idemo izlazni valjani HTML. Korištenjem stavka oznake svaki od naših printf poziva će biti prikazan u svom retku, pa sad kad smo posjetite URL koji upućuje na valid.php http://localhost/valid.php vidimo izlaz koji smo tražili. Sada, ako ćemo vidjeti izvor ove stranice možemo vidjeti da mi sada gledamo u važećem HTML, koje smo stvorili s PHP. Stavljajući sve naše HTML unutar printf pozive je, naravno, neće dobiti jako neugodno. Srećom lako možemo miješati HTML i PHP u isto. PHP datoteke. Zapamtite, sve naše PHP kod mora biti unutar . Sve što nije zatvorena unutar tih graničnika će jednostavno biti poslana kao izlaz na pregledniku umjesto da su pogubljeni. To znači da možemo učiniti nešto poput ovoga. Mi se jednostavno može napisati HTML unutar našeg. Php datoteku a zatim umetnite PHP blokova gdje god smo htjeli neki php koda treba izvršiti. Ovdje ćemo odrediti nekoliko varijabli na vrhu datoteke, a kasnije smo ih ispisati unutar našeg HTML. Sada, ako ćemo posjetiti ovaj URL, http://localhost/mixed.php možemo vidjeti našu ocjenjuje PHP unutar našeg HTML. Sada ćemo pogledati kako možemo proći podatke između naših različitih PHP stranice. Umjesto da se govori možemo jednostavno reći: . Idemo sada pogledati kako možemo proći podatke između naših različitih PHP stranice. Jedan način na koji možemo učiniti da se za kodiranje informacija u URL stranice. Prilikom pregledavanja weba, možda ste primjetili da neki URL-ova sadrže? nakon čega slijedi niz koji sadrži znakove za i jednake znakove. Ovaj dio URL-a je poznat kao niz upita, a to vam omogućuje učinkovito proslijediti argumente PHP skripte. Niza upita se sastoji od ključnih parova vrijednosti, baš kao i hash tablicu. Znak jednakosti dijeli ključ i odgovarajuće vrijednosti a znakove za odvajanje para. URL koji izgleda kao http://localhost/get.php?foo=bar&baz=qux ima 2 para ključne vrijednosti u nizu upita. Ključ Foo karata na šanku vrijednosti, i ključ baz karata na vrijednosti qux. Mi se lako može pristupiti tim ključnim parova vrijednosti pomoću posebnog varijable u PHP-u, $ _GET. $ _GET Je asocijativni niz koji se automatski naseljena s upitom podataka. To znači da je dao ovu URL $ _GET ["foo"] će biti jednaka niza bara. Idemo pogledati get.php vidjeti $ _GET u akciji. Ovdje smo koristeći funkciju nazvanu var_dump, koji kada se daje niz ili drugu varijablu će se ispisati za nas. Sada, ako mi jednostavno pristupiti http://localhost/get.php onda ćemo vidjeti prazan niz, jer nismo ponudili upita. Ako mi daju upita putem http://localhost/get.php?foo=bar&baz=qux onda možemo vidjeti da $ _GET varijabla će sadržavati Ključni parova vrijednost niza upita je. No, što ako ne želimo da nas stavi podatke unutar URL stranice? Za velike količine podataka, to može rezultirati nekim prilično ružna URL-ova da ćemo napraviti naš sjajni izgled web stranice isprika. Umjesto toga možemo staviti upita u tijelo od HTTP zahtjeva, a ne URL Zahtjev je. Tada možemo koristiti PHP $ _POST varijable pristupiti ključne parova vrijednosti. Jedan od načina da to učinite je kroz HTML obliku. Ovdje imamo jednostavnu HTML obrasca. Uočite da se ovdje metoda atribut tom obliku poštom. To govori pregledniku da stavi parove ključeva vrijednosti obrasca u tijelo zahtjeva nego URL. Ako bismo se koristiti vrijednost dobiti za ovaj atribut onda ključnih parova vrijednosti obrasca će umjesto toga ići u nizu upita, pa smo ih mogli ponovno pristupiti putem $ _GET. Action atribut obliku govori pregledniku gdje poslati podatke. Evo naša 2 ulazni elementi imaju ime atribute. Vrijednost imena atributa će poslužiti kao tipke na našim podacima, i vrijednosti tekst ulaza će postati vrijednosti tih tipki. Sada ćemo pogledati post.php, file da se ovaj oblik podnošenje. Baš kao što smo i prije, mi jednostavno si prikazivanja sadržaja $ _POST varijable. Idemo navigaciju na obrascu s http://localhost/form.php. Sada kada smo dostaviti obrazac možemo vidjeti da su podaci iz form.php je prošao post.php bez dodavanjem niza upita na URL. Sada smo vidjeli dva različita načina donošenja podataka između PHP stranice, dobiti i objaviti. U našim primjerima, koristili smo dvije različite vrste HTTP zahtjeva. Kao što ste mogli očekivati, GET zahtjev je korišten kada smo naseljena Korišten $ _GET iz URL-a, i post zahtjev kad smo naseljena $ _POST. U dizajniranje web aplikacije je dobro pravilo od oka koristiti GET zahtjeva kada je vaš app će čitati samo podatke, i poslije zahtjeva kada je vaš app će pisati podatke. Na primjer, upit za pretraživanje će čitati podatke iz svoje aplikacije, pa GET zahtjev ima smisla. S druge strane, vaš app će pisati podatke putem nešto poput prijavnicu, pa nakon Zahtjev bi više smisla, a to je pregled nekih od tehnika ćemo koristiti u CS50 za stvaranje web stranice koristeći PHP. Moje ime je Tommy, a to je CS50. [CS50.TV]