Hovedside

Informasjon
- Videointro
- Presentasjon
- Sagt om boka
- Nytt i 4.utgave
- Bruk av boka
- Innholdsfortegnelse
- Stikkordregister
- Prøvekapittel
- FAQ: spørsmål og svar
- Kjøp boka


Ressurser
- Installasjonshjelp
- Kodesnutter
- Løsninger
- Relevante kurs
- Trykkfeil
- Lenker
- Video


Diverse
- Tilbakemelding
- Diskusjonsforum
- Om forfatteren


 
 

FAQ: Spørsmål og svar

  1. Jeg har ikke programmert tidligere. Kan jeg da lese denne boka?
  2. Jeg har programmert i et annet språk tidligere, men ikke noe særlig på web. Passer boka for meg da?
  3. Må jeg ha spesiell programvare for å ta i bruk PHP?
  4. Blir JavaScript gjennomgått?
  5. Kan boka brukes som oppslagsverk?
  6. Jeg har sett Internettsider som lar meg skrive inn informasjon i felter, velge fra lister, trykke på en knapp, og så blir dataene behandlet videre. Kan jeg lage slike ting med PHP?
  7. Er det mulig å sende e-post med PHP?
  8. Jeg har hørt at PHP oppfordrer til suppeprogrammering, med det resultat at kode og innhold blir flettet sammen i en uoversiktelig smørje...
  9. Hva er så bra med PHP 5? Bør jeg oppgradere?
  10. Har PHP en like god dokumentasjon som Java?
  11. Hvilket databasesystem brukes i denne boka?
  12. Hva er en cookie?
  13. Hvorfor er det av og til et spørsmålstegn i adressefeltet?
  14. Kan jeg lage et interaktivt bildegalleri med PHP?
  15. Blir SQL gjennomgått?
  16. Hvor sikkert er egentlig PHP?
  17. Hva er "register_globals"?
  18. Hvordan kan noen hacke seg inn på en internettside, og hva kan de gjøre av skade?
  19. Jeg har sett spørreundersøkelser hvor resultatet oppdateres med en gang jeg har sendt inn mitt bidrag. Hvordan lages slike?

Jeg har ikke programmert tidligere. Kan jeg da lese denne boka?
Så absolutt. Boka "Webprogrammering i PHP" har som utgangspunkt at du bare kan grunnleggende HTML fra før. Dersom du ikke har vært borti HTML er det lurt å lese et par introduksjonsartikler til HTML først. Det er lett å lære HTML, og du kan være nok inne i HTML på noen timer hvis du vil. Du kan derfor forvente å komme i gang med PHP relativt raskt.
Jeg har programmert i et annet språk tidligere, men ikke noe særlig på web.
Passer boka for meg da?
I høyeste grad. De første kapitlene tar opp grunnleggende programmering, og selv om du behersker disse temaene fra før vil du samtidig få introdusert syntaks, tips og triks, og noen muligheter som web byr på. Det er viktig med en god forståelse av PHP og samspillet mellom klient og tjener før du tar fatt på de mer avanserte temaene som bruk av skjema, cookies og sessions, databaser, filer og grafikk. Boka kan brukes både i høgere utdanning og på hobbybasis.
Må jeg ha spesiell programvare for å ta i bruk PHP?
PHP kan både brukes under Windows, Linux/Unix og Mac OS X. For at andre skal kunne besøke websidene du lager, må de publiseres på Internett. Det er to muligheter for utvikling i PHP:
  1. Du kan utvikle lokalt på egen maskin. Du må i så fall installere en webtjener (for eksempel Apache) og en versjon av PHP, og gjerne også MySQL eller et annet databasesystem. Det enkleste er å installere en pakkeløsning og få alt installert på 1-2-3. Nødvendig programvare er gratis tilgjengelig på web for alle operativsystemer. Kapittel 1 tar for seg installasjon og du kan lese om installasjonen på de første sidene (PDF) for å komme i gang samt å få et inntrykk av boka.
  2. Dersom du har en internettilbyder (ISP) kan du trolig legge ut PHP-script direkte på ditt hjemmeområde uten at du trenger å installere egen webtjener og PHP. Hvis ikke din ISP støtter PHP, så prøv med et webhotell. Legg merke til at ikke alle tilbydere/webhotell har siste versjon av PHP installert. Det gjør ikke noe om du ikke får siste versjon av PHP tilgjengelig, men kan være greit å kjenne til hvilken versjon som brukes. Boka forklarer hvorfor i de senere kapitler. MERK: Selv om du har tilgang til å legge sidene direkte ut på Internett, kan det være nyttig å foreta utviklingen lokalt. Kapittel 1 diskuterer hvorfor.
Blir JavaScript gjennomgått?
Nei, JavaScript er ikke tema i denne boka. Noen av eksemplene bruker riktignok enkle JavaScript, for eksempel til å åpne et nytt vindu, bruke nettleser-historikken for å lage "gå tilbake-lenker", eller validere data. JavaScript er i hovedsak programmering på klient-siden. Hovedfokuset i denne boka ligger på programmering på tjeneren. Vær oppmerksom på at JavaScript er veldig hendig i de tilfeller hvor tjenerprogrammering kommer til kort. Du kommer likevel veldig langt uten JavaScript. Gå til lenkesiden for nyttige artikler om JavaScript.
Kan boka brukes som oppslagsverk?
Ja. Siste kapittel er formulert som ei kokebok med en rekke oppskrifter på en kompakt og oversiktlig form. Dette er skrevet for å imøtekomme de som trenger hjelp til problemløsning på en bedre måte. Du kan se eksempel på en oppskrift her.
Jeg har sett Internettsider som lar meg skrive inn informasjon i felter, velge fra lister, trykke på en knapp, og så blir dataene behandlet videre. Kan jeg lage slike ting med PHP?
PHP er ideelt til behandling av skjema. Kapittel 4 gir deg nødvendig forståelse for skjemabehandling, som deretter inngår i en rekke eksempler i resten av boka.
Er det mulig å sende e-post med PHP?
Ja, kapittel 6 starter med dette og flere andre eksempler viser hendig bruk av automatisk utsendelse av e-post.
Jeg har hørt at PHP oppfordrer til suppeprogrammering, med det resultat at kode og innhold blir flettet sammen i en uoversiktelig smørje...
Dette er ikke riktig. Muligheten til å flette kode inn i eksisterende HTML/tekst gjør at webutvikling med PHP er lett å komme i gang med. Du kan ta utgangspunkt i gamle, statiske websider, og gradvis utvikle disse med PHP-kode slik at innholdet blir mer og mer dynamisk generert. I så måte blir det fort litt suppe-programmering, men dette er ikke en svakhet med PHP.
Når du behersker grunnleggende webprogrammering og skal starte på litt større løsninger, er veien mot en mer strukturert programmering enkel. Kapittel 5, 6 og 13 tar opp hvordan kode kan generaliseres og hvordan presentasjonen kan skilles fra genereringen av innholdet. Bruk av egendefinerte funksjoner og inkludering av filer er absolutt å anbefale. Videre gir PHP deg maksimal valgfrihet siden du kan velge mellom prosedural eller objektorientert utvikling, for hver side du lager. Glem heller ikke fleksibiliteten som ligger i det å lagre informasjon i en database, og presentere denne på web. PHP kommuniserer mot alle kjente databasesystemer. Boka har en progresjon som gjør stadig mer bruk av strukturert programmering og oppfordrer til bruk av god og solid kodepraksis, men det er helt opp til deg som utvikler om du vil programmere rett fram og suppe-aktig: ofte er det det raskeste, og ofte tenker utviklere slik at det er unødvendig å generalisere noe som aldri skal brukes i andre sammenhenger. Derfor fins det mye suppekode rundt om. Det fungerer utmerket, men er vanskelig å oppdatere.
Hva er så bra med PHP 5? Bør jeg oppgradere?
Det meste er bedre i PHP 5, men hvorvidt du bør oppgradere kommer an på dine behov. Endringene fra PHP 4 går først og fremst på at PHP 5 har en mye bedre støtte for objektorientering og XML. Det er ingen grunn til å bruke PHP 4 dersom du er ny med PHP, siden du kan gjøre akkurat det samme med PHP 5 som med PHP 4, men ikke omvendt. Det er ett untak, og det er dersom du skal bruke PHP på et nettsted og vil utvikle lokalt. Dersom internettilbyderen din har for eksempel PHP 4.3, kan det være lurt å bruke samme versjon, eller evt. være observant på å ikke kalle funksjoner som kom med PHP 5, for da vil det fungere bare lokalt på din maskin og ikke på web når du publiserer til din internettilbyder.
Dersom du allerede har utviklet med PHP 4, vil trolig alt fungere som før hvis du oppgraderer til PHP 5 (ha gjerne begge installert parallelt en stund for sikkerhetsskyld). MERK: Det du lærer i denne boka kan brukes uavhengig av hvilken versjon du bruker.
Har PHP en like god dokumentasjon som Java?
Det må du bedømme selv. Dokumentasjonen til PHP ligger på web (www.php.net) og er meget god. Den oppdateres kontinuerlig, og er oversatt til en rekke språk. Alle funksjoner er meget godt dokumentert, som regel med forklarende eksempler som kan klippes ut for direkte utprøving.
Dersom du skal utvikle mye lokalt er det lurt å laste ned manualen, enten i form av en stor HTML-fil, mange små, eller som en tradisjonell Windows hjelpefil (Windows-brukere bør prøve dette, anbefales på det sterkeste grunnet fine søkemuligheter :-)
Hvilket databasesystem brukes i denne boka?
MySQL, først og fremst begrunnet i at det er veldig utbredt og lett å installere på både Windows og Linux. PHP kommuniserer tilnærmet på samme måte mot de ulike databasesystemene, og bruk av spørrespråket SQL i boka og i databasesystemene gjør at det du lærer enkelt kan overføres til andre databasesystemer.
Hva er en cookie?
Problematikken rundt tilstandsbevaring tas opp i kapittel 7. Med cookies (eller informasjonskapsler som det heter på norsk-språkråd-norsk) kan webstedet ditt få til å lagre informasjon på den besøkendes PC, og hente denne informasjonen frem igjen på et senere tidspunkt. Cookies lagres på maskinen til den besøkende, og inneholder informasjon. Nettstedet ditt kan gjøre bruk av av de cookies som fins på den besøkendes maskin ved senere tidspunkt, måneder etter forrige besøk. Med cookies kan du altså programmere nettstedet ditt til å huske preferanser, hvem brukeren er, hva som er handlet og så videre. Cookies brukes ofte i handlekurvløsninger. Eksemplene i boka viser hvordan PHP kan brukes til å plassere ut og bruke cookies i ulike situasjoner. Også sikkerhetsmessige spørsmål tas opp. Det er virkelig gøy å programmere når en behersker bruk av cookies!
Hvorfor er det av og til et spørsmålstegn i adressefeltet?
Problematikken rundt tilstandsbevaring tas opp i kapittel 7. Informasjon kan bevares fra en side til en annen på flere måter. Bruk av spørrestrengen er bare en slik måte. Se også forrige spørsmål om "cookies" og spørsmålet om skjemabehandling.
Kan jeg lage et interaktivt bildegalleri med PHP?
Ja, etter å ha lest kapittel 8 bør det være lett som en lek. Du kan også gjøre en hel rekke andre ting med bilder, for eksempel sette vannmerke på bilder for å hindre kopiering - uten å ødelegge originalene. Kapittel 12 tar opp behandling av grafikk med PHP.
Blir SQL gjennomgått?
Ja, SQL er så sentralt for å operere mot databaser at størsteparten av kapittel 9 tar for seg SQL. Det som kan gjøres med én SQL-setning krever ofte 10 kodelinjer i PHP. Kjennskap til SQL sine muligheter og begrensninger er derfor nyttig for å sikre hurtigere og sikrere webutvikling
Hvor sikkert er egentlig PHP?
Sikkerhet er et viktig element i forbindelse med webutvikling. Dessverre ser ofte utviklere først og fremst på funksjonalitet og design, og ofrer gjerne sikkerheten uten å være klar over hvilke potensielle sikkerhetshull og farer det medfører. For å oppnå sikre og robuste løsninger er det nødvendig å tenke sikkerhet i alle faser av et utviklingsprosjekt, spesielt i programmeringsfasen. PHP er i seg selv ikke usikkert - men det er måten folk programmerer PHP på som fører til sikkerhetshull og mulig hacking. I nyere versjoner av PHP er fokuset på sikkerhet stort, noe som gjør at du kan programmere relativt sikkert uten å ha inngående kjennskap til datasikkerhet. Boka tar opp en rekke tema som er interessante og viktige. Les kapittel 11 nøye, gjerne flere ganger!
Hva er "register_globals"?
Før PHP versjon 4.2.0 var direktivet register_globals slått på som standard. Målet var å lette utviklingen ved å legge alle variabler "utenfra" i en og samme kurv, identifisert med variabelnavnet. Hvorvidt variabelen kom fra en cookie, fra spørrestrengen eller et postet skjema, var ikke godt å si. Potensialet for en hacker er stort i et slikt miljø, siden det er mulig å overskrive variablene og for eksempel bli innlogget uten å kjenne til brukernavn og passord. Merk at dersom variabler nullstilles (initieres) før bruk, utgjør ikke programmering i henhold til register_globals=on noen trussel mer. Problemet tidligere (og delvis fortsatt) er at en rekke introduksjoner og lærebøker programmerer i henhold til register_globals=on, uten å ta de nødvendige forhåndsregler. Alle bokas eksempler følger anbefalingen fra utviklerne av PHP om å la register_globals være avslått.
Hvordan kan noen hacke seg inn på en internettside, og hva kan de gjøre av skade?
Det fins en rekke teknikker en hacker kan bruke, blant annet SQL-injection, XSS og session hijacking. Boka viser hvordan dette kan gjøres med det formål å motivere til preventive tiltak. En gylden regel i websammenheng er at en aldri skal stole på inngangsdata fra brukeren, men anta det verste og forberede seg deretter. Validering av inngangsdata er essensielt, men sikkerhetskapittelet avdekker også andre ting som er viktig å tenke på.
Jeg har sett spørreundersøkelser hvor resultatet oppdateres med en gang jeg har sendt inn mitt bidrag. Hvordan lages slike?
Med PHP kan du lage grafikk "på direkten". Dette er veldig nyttig, for eksempel til å oppsummere informasjon som mange brukere har sendt inn/bidratt til. Kapittel 12 tar opp alternative presentasjonsformer, og viser blant annet hvordan det er mulig å lage enkel grafikk, 3D-bilder og regneark "automagisk".