Posljednje ažuriranje: 1.11.2015
Jedan od glavnih načina na koji se podaci prenose na web stranicu je obrada obrazaca. Obrasci su posebni HTML elementi za označavanje koji sadrže različite elemente unosa - tekstualna polja, gumbe i tako dalje. A uz pomoć podataka obrasca možemo unijeti neke podatke i poslati ih na poslužitelj. I poslužitelj već obrađuje te podatke.
Izrada obrazaca sastoji se od sljedećih aspekata:
Napravite element
Atribut action="login.php" elementa obrasca označava da će skripta obraditi podatke obrasca. login.php, koji će biti uz datoteku form.php u jednoj mapi. A atribut method="POST" označava da će se POST metoda koristiti kao metoda prijenosa podataka.
Sada napravimo datoteku login.php, koji će imati sljedeći sadržaj:
Vaša lozinka: $password"; ?>
Za dobivanje podataka obrasca koristi se globalna varijabla $_POST. Predstavlja asocijativni niz podataka koji se dostavljaju POST metodom. Pomoću ključeva možemo dobiti dostavljene vrijednosti. Ključevi u ovom nizu su vrijednosti atributa imena polja za unos obrasca.
Budući da je atribut name polja za unos za prijavu postavljen na login ( ), tada će u nizu $_POST vrijednost ovog polja predstavljati ključ "login": $_POST["login"]
A budući da postoje situacije kada polje za unos neće biti postavljeno, na primjer, kada idete izravno na skriptu: http://localhost:8080/login.php. U tom slučaju poželjno je provjeriti njihovu prisutnost prije obrade podataka pomoću funkcije isset(). A ako je varijabla postavljena, funkcija isset() će vratiti true .
Sada se možemo obratiti obrascu:
A pritiskom na tipku, uneseni podaci metodom POST bit će poslani u skriptu login.php:
Nije potrebno slati podatke obrasca u drugu skriptu, moguće je obraditi podatke obrasca u istoj datoteci obrasca. Da biste to učinili, promijenite datoteku form.php na sljedeći način:
Prijaviti se
Sigurnost podataka
Organizacija sigurnosti podataka je od velike važnosti u PHP-u. Pogledajmo nekoliko jednostavnih mehanizama koji mogu poboljšati sigurnost naše web stranice.
Ali prvo, uzmimo obrazac iz zadnje teme i pokušajmo unijeti neke podatke u njega. Na primjer, unesite u polje za prijavu "", a u polju lozinke tekst "
zaporka
":Nakon slanja podataka u html oznaku, ubacit će se javascript kod koji prikazuje okvir s porukom.
Da biste izbjegli ove sigurnosne probleme, trebali biste koristiti funkciju htmlentities():
If(isset($_POST["login"]) && isset($_POST["password"]))( $login=htmlentities($_POST["login"]); $password = htmlentities($_POST["password" ]); echo "Vaša prijava: $login
Vaša lozinka: $password"; )
Čak i nakon unosa html ili javascript koda, sve oznake će se izbjeći i dobit ćemo sljedeći izlaz:
Druga funkcija - funkcija strip_tags() omogućuje vam da potpuno isključite html oznake:
If(isset($_POST["login"]) && isset($_POST["password"]))( $login=strip_tags($_POST["login"]); $password = strip_tags($_POST["password" ]); echo "Vaša prijava: $login
Vaša lozinka: $password"; )
Rezultat njegovog rada s istim ulazom bit će sljedeći izlaz.
Dobar dan svima. Alexey Gulynin je u kontaktu. U prošlom članku naučili ste o serijalizaciji u php-u. U ovom članku želio bih govoriti o tome kako raditi s forme u PHP-u. PHP jezik je dizajniran za programiranje web skripti, a obrada obrazaca je možda najvažnije mjesto u tom procesu. Sada nema stranica koje ne bi imale, primjerice, registraciju ili obrazac za povratne informacije, ili upitnik. Forumi, internetske trgovine, dodavanje komentara, slanje poruke na društvenoj mreži - sve je to obrada podataka smještenih u polja obrasca. Pogledajmo na primjeru kako procesne forme u PHP-u.
Provest ćemo jednostavan zadatak: trebate stvoriti 2 polja (ime i prezime), proslijediti ove podatke skripti action.php, kao rezultat, trebao bi se pojaviti pozdrav "Dobro došli, prezime ime". Tko je zaboravio kako nastaju forme, i koja polja postoje, možete vidjeti. Kreirajmo test.html datoteku:
Skrećem vam pozornost na činjenicu da se datoteka action.php (u našem slučaju) mora nalaziti u istoj mapi kao i datoteka test.html. Ovdje možete odrediti i relativne i apsolutne staze. Budite oprezni, mnoge su pogreške povezane s pogrešnim putem do skripte za obradu obrasca.
Kreirajmo datoteku action.php sa sljedećim sadržajem:
Ako sada otvorimo test.html datoteku, ispunimo polja obrasca i kliknemo na gumb, završit ćemo u datoteci action.php, gdje će se prikazati poruka. U tom slučaju preglednik pristupa skripti action.php i prosljeđuje je kroz "?" sve vrijednosti atributa imena smještene unutar oznaka , odvojeno & . Primijetite što se zamjenjuje za $_SERVER .
Naš problem možemo riješiti raščlanjivanjem niza QUERY_STRING koristeći standardne PHP funkcije za manipulaciju stringovima, ali bolji mehanizam je korištenje niza $_REQUEST. Sve podatke primljene iz polja obrasca, PHP stavlja u polje $_REQUEST, bez obzira na to kako su podaci poslani: POST ili GET (možete saznati putem $_SERVER["REQUEST_METHOD"] ). Dopustite mi da vas podsjetim kako se ove metode razlikuju:
Metoda GET je javna, POST metoda je privatna, t.j. razlikuju se po načinu prosljeđivanja parametara. Primjer:
1) Ako koristimo post metodu: mysite.ru/request.php.
2) Ako koristimo metodu get: mysite.ru/request.php?myname="Alex"&surname="Gulynin".
Također, pored polja $_REQUEST, PHP stvara nizove $_GET i $_POST. Provedimo sada naš zadatak, na temelju stečenog znanja:
Ako sada ispunimo obrazac i kliknemo na gumb, vidjet ćemo da nas action.php skripta pozdravlja prezimenom i imenom. Sve radi kako treba.
Ovdje je sve u redu, ali ako promijenimo naziv skripte, morat ćemo unijeti promjene u datoteku test.html. Modificirajmo datoteku action.php tako da se pristupom njoj prikazuje ili obrazac kada ništa nismo poslali ili pozdrav kada pritisnemo gumb:
Sada ne ovisimo o nazivu scenarija, jer postavite ga putem varijable okoline $_SERVER["SCRIPT_NAME"]. Konstrukcija =$_SERVER["SCRIPT_NAME"]?> je ekvivalentna konstrukciji .
Osim varijable okruženja SCRIPT_NAME, postoje mnoge druge.
Danas ćemo raditi na izradi prekrasnog HTML obrasca za povratne informacije za web stranicu koja radi na PHP-u i ima ugrađenu zaštitu od neželjene pošte. Ne trebate nikakvo posebno znanje, bit će dovoljne osnove html-a i elementarne logike. Dajem gotove datoteke koje možete ubaciti na stranicu bez promjena ili prilagoditi svojim potrebama.
Nedavno sam napravio članak o tome kako napraviti dodatak za obrazac za kontakt 7. Također možete jednostavno napraviti obrazac za povratne informacije na Joomli i drugim popularnim CMS-ima.
Ali što je s stranicama koje ne koriste popularni CMS? - Ostaje sve raditi ručno.
Osim toga, za WordPress je moguće i korištenje povratnih informacija bez dodataka. Dodatni dodaci stvaraju značajno opterećenje na poslužitelju, a njihovo odbijanje omogućuje vam da ubrzate stranicu.
Ovdje možete naručiti instalaciju i konfiguraciju gotovog obrasca za 500 rubalja (ovo je za one koji su previše lijeni za rad rukama ili vještina nije dovoljna).
Princip obrasca za povratnu informaciju na html-u
Naš obrazac će imati 5 polja za unos podataka - ime, e-mail adresa, telefonski broj, adresa web stranice, tekst poruke (možete ih sami izbrisati ili promijeniti).
Sva polja, osim adrese web stranice, bit će obavezna (to možete i sami konfigurirati).
Za polja s e-mail adresom i web-stranicom izvršit će se obvezna provjera ispravnosti unosa podataka.
Konačni oblik komunikacije će izgledati ovako:
Kontakt obrazac kreiran u html-u zahtijeva 3 elementa za rad.
Prvi je odgovoran za strukturu samog obrasca, za vrstu i broj polja za unos podataka. Ovo je normalan html kod.
Drugi je odgovoran za obradu podataka koje korisnik unosi u polja obrasca. Određuje što, gdje i u kojem obliku poslati nakon što se pritisne gumb za slanje. Za implementaciju se koristi posebna PHP skripta.
Treći je zaslužan za izgled. Postavlja veličinu i položaj polja za unos podataka, dodaje različite boje i efekte. Sve je postavljeno CSS stilovima.
Demo verzija obrasca
Provest ćemo vas kroz konfiguraciju svakog od ovih elemenata korak po korak.
Izrada HTML izgleda
Kako članak ne bi bio predugačak i ne bih dodavao svaki element posebno, dat ću cijeli html kod, a u nastavku ću opisati svaki blok i moguće izmjene.
Oznaka se koristi za označavanje obrazaca u html-u.
, unutar kojeg su ispunjeni potrebni parametri.Počnimo s prvim redom.
class=”obrazac za kontakt”- navedite klasu kako biste u budućnosti postavili CSS stilove.
action=”contact-form.php”- navedite naziv datoteke sa skriptom koja će obraditi podatke obrasca i poslati poruku. Ako se datoteka nalazi u istoj mapi kao i stranica s obrascem, tada je dovoljno navesti samo naziv datoteke, ako se nalazi u drugoj mapi, tada ćete morati odrediti put do datoteke.
Slijede 4 bloka.
Odgovoran za prikaz polja za unos podataka, nazivi jasno pokazuju koji je za što odgovoran. Sama polja se prikazuju pomoću oznaka , unutar kojeg su navedene sljedeće karakteristike:
tip– odgovoran je za vrstu ulaznih podataka, tekst je običan tekst, email je adresa e-pošte, takva polja se automatski provjeravaju na ispravnost (@ mora biti prisutan), tel je broj telefona, url je adresa web stranice.
Ime- naziv samog elementa, potrebno je da skripta zna koristiti podatke svakog polja. Ako napravite nekoliko polja iste vrste, tada morate svakom polju dodijeliti naziv.
rezerviranog mjesta je opis alata unutar polja, tekst koji zamjenjuje prazno polje elementa. Može se mijenjati ili brisati, ne utječe na rad obrasca.
Potreban- Ovaj parametar označava da je polje obavezno. Možete sami odlučiti koji su elementi potrebni, a koji ne.
uzorak=”(http|https)://.+”- ova konstrukcija se koristi za provjeru ispravnosti polja web stranice, označava da adresa mora sadržavati http: // tekst ili https: // tekst, inače će doći do pogreške.
Neka polja imaju opis alata koji se pojavljuje kada je stavka odabrana. Povrijeđena je , gdje je form_hint klasa elementa (njegova svojstva su napisana u CSS-u). Možete odrediti bilo koji tekst u opisu za svako polje obrasca za kontakt. Ako vam takva značajka nije potrebna, samo izbrišite cijelu oznaku.
Polja za unos same poruke označena su oznakom
Zaštita od neželjene pošte- nevidljivo polje imena=bezspama. Ima stil display:none, što znači da je polje nevidljivo ljudima, ali će ga botovi automatski ispuniti.
A završni element bilo kojeg obrasca je gumb za slanje poruke, postavljen je oznakom , koji ima svoju klasu za prilagodbu izgleda i tipa "submit".
Za dodavanje ili uklanjanje polja dovoljno je ukloniti nepotrebna ili umetnuti nova po analogiji s postojećim, navodeći sva svojstva i nazive za njih.
Stiliziranje CSS-a
Ako pogledate u pregledniku što se dogodilo, vidjet ćete nešto nespretno i neprivlačno. Kako bismo dobili lijep obrazac za povratne informacije, morat ćemo poraditi na njegovim stilovima (html neće biti dovoljan).
Ako posjedujete CSS, onda možete postaviti dizajn za sve elemente obrasca bez ikakvih problema, ovdje vam ni ne treba moja pomoć.
Ako niste upoznati sa stilovima, onda ću vam jednostavno dati gotovu datoteku u kojoj je sve već napisano na način da će vaš oblik biti identičan onom u primjeru.
Stilovi se mogu dodati na dva načina:
- Kopirajte sadržaj datoteke u datoteku style.css koja se već nalazi na vašoj web-lokaciji (dodajte na samom kraju)
- Prenesite datoteku koju sam dao na vaš hosting i povežite je.
Datoteke stila uključene su u sljedeći kod postavljen unutra
. Ako se datoteka stila (styles.css) ne nalazi u istoj mapi kao i html stranica, napišite puni put do nje.U datoteci stila koju sam dao svaki element je potpisan, tako da možete napraviti bilo kakve promjene na njemu - promijeniti boje, veličine, oblike, efekte. Posjedujući najosnovnije znanje, možete ga jednostavno urediti.
Postavljanje PHP koda (dodana zaštita od neželjene pošte)
Kao i kod stilova, dat ću vam gotov kod koji obrađuje HTML obrazac za kontakt i štiti od neželjene pošte. Ova je datoteka prilagođena za određenu konfiguraciju i ako želite postaviti nova polja ili ukloniti postojeća, morat ćete unijeti izmjene u nju. Stoga ću vam reći kako to funkcionira kako biste razumjeli što treba promijeniti.
Za web-mjesta koja koriste Windows-1251 kodiranje i php verziju 5.4+, kodu će se morati dodati dodatak koji se odnosi na funkciju htmlspecialchars. Pokazat ću to u nastavku. Inače će umjesto ćirilice doći prazna polja.
Zapamtite, u svojstvima obrasca (u html datoteci) naveli smo parametar action=”contact-form.php”. Morate stvoriti datoteku pod nazivom contact-form.php i u nju staviti donji kod.
\r\n Odgovor za: $email \r\n"; if (mail($address, $sub, $mes, $from)) ( header("Osvježi: 5; URL=https://site") ; jeka "
";) else ( header("Osvježi: 5; URL=https://site"); echo " ";) ) exit; /* Izađi bez poruke ako je polje bezspama ispunjeno spam botovima */ ?>/* Postavi varijable */ $name = htmlspecialchars ($_POST [ "name" ] ) ; $email = htmlspecialchars ($_POST [ "e-pošta"]) ; $tel = htmlspecialchars ($_POST [ "tel" ] ) ; $website = htmlspecialchars ($_POST [ "web stranica"] ) ; $message = htmlspecialchars ($_POST [ "poruka"] ) ; $bezspama = htmlspecialchars ($_POST [ "bezspama" ] ) ; /* Vaša adresa i predmet poruke */ $sub = "Poruka s web-mjesta XXX"; /* Format slova */ $mes = "Poruka s web-mjesta XXX.\n Ime pošiljatelja: $name Adresa e-pošte pošiljatelja: $email Telefon pošiljatelja: $tel Web stranica pošiljatelja: $website Tekst poruke: $poruka"; ako (prazno ($bezspama ) ) /* Procjena bezspama polja - mora biti prazno */ /* Pošaljite poruku pomoću funkcije mail() */ $od = "Od: $name<$email>\r\n Odgovor primatelju: $e-pošta \r\n"; if (pošta ($address, $sub, $mes, $from)) ( Zaglavlje(); jeka "
Pismo je poslano, za 5 sekundi bit ćete vraćeni na XXX stranicu" ; } drugo( Zaglavlje( "Osvježi: 5; URL=https://site") ; jeka "
Pismo nije poslano, nakon 5 sekundi vratit ćete se na stranicu YYY" ; } Izlaz; /* Izlaz bez poruke ako je bezspama polje ispunjeno spam botovima */ |
Prije svega, trebamo postaviti varijable koje će php kod obraditi. Da ne bismo bili zabune, dodjeljujemo im ista imena kao što su bila i u samom obrascu, samo što sve varijable počinju znakom $. Sama naredba dodjele izgleda ovako:
$title = htmlspecialchars($_POST["naslov"]);
$title=htmlspecialchars($_POST [ "naslov"] ) ; |
Ako ste dodali dodatna polja podataka, dodajte njihova imena u blok varijabli.
Nisu sve varijable preuzete iz obrasca. U najmanju ruku, e-mail adresa na koju će pismo biti poslano (vaša adresa) je posebno naznačena. U ovom slučaju, ovo je varijabla $address - unesite svoju adresu e-pošte u njezinu vrijednost.
Također, u ovom primjeru, vrijednost varijable $sub je eksplicitno postavljena - dat će predmet pisma. Možete dodati predmet poruke u HTML obrazac kao tekstualno polje (poput imena) i preuzeti vrijednost ove varijable odatle.
U bloku formata slova možete konfigurirati poruku koju ćete primiti. Može se razlikovati od onoga što je napisano u polju za tekst koji se zove poruka. Upravo sam napravio još jednu varijablu $mes i uključio dodatni tekst i važne pojedinosti o pošiljatelju (ime, e-mail, telefon, web stranicu). Ovaj dio možete konfigurirati kako želite.
Kako bi pisma koja primite bila potpisana imenom pošiljatelja, a uključuju njihovu povratnu adresu, a ne adresu poslužitelja na kojem se nalazi vaša php datoteka, postavili smo novu varijablu $from koja uključuje naziv i e-mail pošiljatelja pisma.
Tada funkcija pošte šalje pismo prema navedenim parametrima. U slučaju uspješnog slanja pojavljuje se poruka da je pismo poslano, a nakon 5 sekundi korisnik se preusmjerava na stranicu na vašoj stranici (možete promijeniti adresu stranice i vrijeme odgode). Ako pismo nije bilo moguće poslati, pojavljuje se poruka da pismo nije poslano i nakon 5 sekundi dolazi do prijelaza na stranicu stranice, na isti način možete postaviti adresu i vrijeme stranice.
Umetanje obrasca na stranicu web stranice
Da biste umetnuli obrazac za povratne informacije koji ste kreirali, trebate kopirati html kod obrasca i zalijepiti ga u dio koda stranice na kojem želite prikazati povratne informacije za web-mjesto.
Još jednom vas želim podsjetiti da ako datoteka s PHP programom nije u istoj mapi kao i stranica na kojoj se nalazi html kod, tada morate upisati puni put do nje u kodu samog obrasca , inače neće raditi, jer obrazac neće pronaći datoteku rukovatelja.
Preuzmite datoteke obrasca za kontakt
Aktivan anti-spam s unosom podataka na terenu
Spameri rade koristeći razne softverske alate, a neki botovi mogu zaobići zaštitu s praznim poljem koje je ugrađeno u osnovnu verziju. Ako vas počnu smetati, umjesto toga možete primijeniti ili dodatno jednostavnu zaštitu unosom podataka u posebno polje. Na primjer, napravite matematički izraz koji od vas traži da unesete odgovor ili postavite neko jednostavno pitanje. Neće zahtijevati veliku promjenu forme.
Pokazat ću vam kako promijeniti kod obrasca i PHP rukovalac za korištenje ove metode zaštite od neželjene pošte. Ako želite, ne možete promijeniti zaštitu s praznim poljem, već dodajte odgovarajuće retke u kod i imat ćete 2 metode koje rade istovremeno - u teoriji bi to trebalo biti učinkovitije.
Prije svega, trebamo dodati polje za unos i pitanje u HTML kod. Kao osnovu, već imamo redak 25 (ime unosa = “bezspama”). Ovo polje je nevidljivo. Pretvaramo ga u običnu. Da biste to učinili, promijenite cijeli redak u ovaj blok:
|
Umjesto matematičkog izraza 2+2*2, možete unijeti bilo koji podatak - ovo je vizualno pitanje za korisnika. Iz polja za unos uklonili smo stil display:none i dodali obavezno popunjavanje.
Sljedeći korak je promjena podataka u PHP rukovatelju tako da ne provjerava prazninu ovog polja, već ispravnost unesenih podataka. Naša provjera je izvršena u retku 25 izrazom prazno ($bezspama). Mijenjamo ovaj izraz i provjeravamo jednakost popunjenog polja na unaprijed određeni broj. U mom primjeru, matematički izraz je 6, pa bi cijeli niz izgledao ovako.
Nije tajna da je najčešći način na koji html stranica stupa u interakciju s web-mjestom putem obrasca. Obrazac (tj. html element formiran oznakom form) također koriste besplatne usluge e-pošte, internetske trgovine i mnoge druge vrste web-mjesta.
Obrada jednostavnih obrazaca s PHP-om je jednostavna. Međutim, s vremena na vrijeme postoji potreba za obradom obrasca koji sadrži nekoliko polja iste vrste, unatoč činjenici da njihov broj može varirati u širokom rasponu i njihov broj nije unaprijed poznat. PHP za takve slučajeve omogućuje obradu polja istog tipa kao niz vrijednosti.
Pogledajmo pobliže opcije za različite vrste polja.
Tekstualna polja
Za potrebe ovog članka, tekstualna polja odnose se na elemente stvorene oznakama za unos s vrijednošću parametra tipa teksta i oznakom textarea. Najlakše je organizirati obradu obrasca koji se sastoji od nekoliko takvih polja. Donji popis prikazuje html oznake za takav obrazac.
Kao što možete vidjeti iz popisa, nazivi za elemente obrasca, sa stajališta PHP-a, su elementi niza. Stoga će PHP skripta koja će obraditi ovaj obrazac sva mnoga tekstualna polja ovog obrasca tretirati kao jedan niz. Pojedinačnim elementima se može pristupiti indeksom ili nabrojati pomoću popisa i svake naredbe, kao u sljedećem primjeru.
n"; ?>
Prekidači
Potvrdni okviri (potvrdni okvir) u ovom članku su elementi stvoreni ulaznim oznakama s vrijednošću parametra tipa jednakom potvrdnom okviru. Obrazac za korištenje promjenjivog broja "prekidača" izgrađen je na potpuno isti način. Imajte na umu da izbor određene vrijednosti radio gumba (tj. vrijednosti svojstva vrijednosti) nije važan. Primjer je prikazan u donjem popisu:
Međutim, obrada takvog obrasca razlikuje se od obrade opisane za tekstualna polja. U tom slučaju potrebno je utvrditi je li posjetitelj stranice omogućio jedan ili drugi prekidač. Ako je uključen, tada odgovarajući element niza postoji, ako ne, onda je odsutan. Sljedeći popis je primjer PHP skripte koja ispisuje omogućene radio gumbe:
Radio gumbi
Prije nego što opišemo obradu radio gumba, potrebno je zapamtiti kako oni rade. Bit radio gumba (elemenata kreiranih ulaznim oznakama s vrijednošću parametra tipa jednakom radio ) je da odabirom jednog gumba korisnik automatski poništava odabir drugog gumba iz istog skupa. Gumbi se kombiniraju u set vrlo jednostavno: svi gumbi u setu imaju isti naziv.
Ali vrijednosti (to jest, parametri vrijednosti) gumba u setu su različite. I vrijednost odabranog gumba s nazivom skupa bit će poslana na stranicu. Kao i kod tekstualnih polja i radio gumba, nazivi skupova radio gumba moraju biti oblikovani kao nazivi elemenata niza u PHP-u. Primjer takvog obrasca prikazan je u sljedećem popisu:
Rukovanje radio gumbima kombinira ideje, koristeći i tekstualna polja i radio gumbe u obradi. Ako autor html stranice nije postavio zadanu vrijednost, a korisnik nije odabrao određeni gumb u skupu radio gumba, tada ovaj element neće biti u nizu (kao za radio gumbe).
Ako je gumb odabran, tada će odgovarajući element niza sadržavati svoju vrijednost (kao za tekstualna polja). Ispod je popis primjera koji obrađuje obrazac s više skupova radio gumba.
n"; ?>
Dakle, nema ništa komplicirano u obradi složenih oblika.
JavaScript je blokiran u vašem pregledniku. Dopustite JavaScriptu za rad ove stranice!
Rad s obrascima
HTML obrasci se koriste za slanje podataka od korisnika web stranice na poslužitelj. PHP nudi niz posebnih alata za rad s obrascima.
Unaprijed definirane varijable
PHP ima niz unaprijed definiranih varijabli koje se ne mijenjaju kada se sve aplikacije pokreću u određenom okruženju. Nazivaju se i varijable okoline ili varijable okoline. Oni odražavaju postavke okruženja Apache web poslužitelja, kao i informacije o zahtjevu preglednika. Moguće je dobiti vrijednosti URL-a, niza upita i drugih elemenata HTTP zahtjeva.
Sve unaprijed definirane varijable sadržane su u asocijativnom nizu $GLOBALS. Osim varijabli okruženja, ovaj niz također sadrži globalne varijable definirane u programu.
Primjer 1
"; ?>
Kao rezultat, na zaslonu će se pojaviti popis svih globalnih varijabli, uključujući varijable okruženja. Najčešće korišteni su:
Varijabilna | Opis | Sadržaj |
---|---|---|
$_SERVER["HTTP_USER_AGENT"] | Ime i verzija klijenta | Mozilla/5.0 (kompatibilan; Googlebot/2.1; +http://www.google.com/bot.html) |
$_SERVER["REMOTE_ADDR"] | IP adresa | 144.76.94.14 |
getenv("HTTP_X_FORWARDED_FOR") | Interna IP adresa klijenta | |
$_SERVER["REQUEST_METHOD"] | Način zahtjeva (GET ili POST) | DOBITI |
$_SERVER["QUERY_STRING"] | Na zahtjev GET, kodirani podaci proslijeđeni su zajedno s URL-om | |
$_SERVER["REQUEST_URL"] | Puna adresa klijenta uključujući niz upita | |
$_SERVER["HTTP_REFERER"] | URL stranice s koje je upućen zahtjev | |
$_SERVER["PHP_SELF"] | Put do izvršnog programa | /index.php |
$_SERVER["SERVER_NAME"] | Domena | mjesto |
$_SERVER["REQUEST_URI"] | Staza | /php/php_form.php |
Rukovanje korisničkim unosom
PHP rukovatelj unosom može se odvojiti od HTML teksta koji sadrži forme za unos ili se može postaviti na istu stranicu.
Primjer 2
Ovdje nema gumba za prijenos podataka, jer. obrazac koji se sastoji od jednog polja automatski se šalje kada se pritisne tipka
Prilikom obrade elementa s viševrijednim odabirom, da biste pristupili svim odabranim vrijednostima, nazivu elementa morate dodati par uglatih zagrada. Za odabir više stavki držite pritisnutu tipku Ctrl.
Primjer 3.1
PRIMJER 3.1 REZULTAT:
Primjer 3.2
- "; foreach ($Item kao $vrijednost) echo "
- $value"; echo "
Primjer 4. Prihvaćanje vrijednosti iz potvrdnih okvira
$v) ( if($v) echo "Znate programski jezik $k!"; else echo "Ne znate programski jezik $k.
"; } } ?>
PRIMJER 4 REZULTAT:
Primjer 5
"; ?>Moguće je obraditi obrasce bez brige o stvarnim nazivima polja.
Da biste to učinili, možete koristiti (ovisno o metodi prijenosa) asocijativni niz $HTTP_GET_VARS ili $HTTP_POST_VARS. Ovi nizovi sadrže parove ime/vrijednost za svaki element poslanog obrasca. Ako vas nije briga, možete koristiti asocijativni niz $_REQUEST.
Primjer 6
"; ?>
Primjer 7. Rukovanje klikom na gumb pomoću operatora "@".
Pomoću funkcije header(), slanjem zaglavlja "Location" pregledniku možete preusmjeriti korisnika na novu stranicu.
Na primjer:
header("Location: ex2.php"); ?>
Prijenos datoteke na poslužitelj. Prenesite datoteku. Učitaj
PHP vam omogućuje slanje datoteka na poslužitelj. HTML obrazac za slanje datoteke mora sadržavati argument enctype="multipart/form-data" .
Osim toga, obrazac mora imati skriveno polje pod nazivom max_file_size prije polja za kopiranje datoteke. Ovo skriveno polje treba sadržavati maksimalnu veličinu prenesene datoteke (obično ne više od 2 MB).
Samo polje za prijenos datoteke je normalan INPUT element s argumentom type="file" .
Na primjer:
Nakon što je datoteka učitana na poslužitelj, ona dobiva jedinstveni naziv i pohranjuje se u privremeni direktorij. Cijeli put do datoteke zapisuje se u globalnu varijablu čije ime odgovara imenu polja za prijenos ove datoteke. Osim toga, PHP pohranjuje neke dodatne informacije o proslijeđenoj datoteci u drugim globalnim varijablama:
Primjer 8
"; echo "veličina: ".$_FILES["userfile"]["size"]."
"; echo "tip: ".$_FILES["userfile"]["type"]."
"; } ?>
Primjeri učitavanja datoteka na poslužitelj
Ako postoje problemi s pretvorbom prenesene datoteke od strane poslužitelja, simbol s kodom 0x00 zamijenjen razmakom (znakom s kodom 0x20), dodajte u datoteku httpd.conf iz Apache direktorija (/usr/local/apache) sljedeće retke.