1 / 13

Webprogrammering

Webprogrammering. Tilstandsbevaring Sessions og cookies. I dag. Variablers varighet Tilstandsbevaring Sessions , Cookies Kodegjennomgang Oppgaveløsning på lab. Variablers varighet. Side2.php. Test.php. <? php $alder = 23; echo ”Alderen er : ”.$alder. ”< br />; ?>

olathe
Download Presentation

Webprogrammering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Webprogrammering Tilstandsbevaring Sessions og cookies

  2. I dag • Variablers varighet • Tilstandsbevaring • Sessions, Cookies • Kodegjennomgang • Oppgaveløsning på lab.

  3. Variablers varighet Side2.php Test.php <?php $alder = 23; echo ”Alderen er : ”.$alder. ”<br/>; ?> <a href=”Side2.php">Til ny side</a> <?php echo ”Alderen er : ”; echo $alder; ?> Alderen er : Alderen er: 23 Side2.php

  4. Variablers varighet • Vanlige $variabler eksisterer kun når filen som variabelen inneholder kjører • Når ny side kalles (ved hyperlink, knapp el.) overføres ikke variabelverdien • Men i et skjema overføres feltverdiene via superglobale $_GET, $_POST eller $_REQUEST til neste fil (side).

  5. Egendefinert superglobal • Vi kan definere våre egne superglobale variabler som kan bevares over flere filer/sider. • Ved bruk av $_SESSION[”variabelnavn”] • Filen må starte med • Dette må være på hver side (php-fil) som bruker sessionvariablene. • <?php • session_start();

  6. Eksempel <?php session_start(); $_SESSION["navn"]="Ole Olsen"; $_SESSION["adresse"]="Drammensveien 1"; $_SESSION["postnr"]=1001; ?> Dataene er nå lagt inn i sessionvariablene. <br/> <a href="session-1.php">Til neste side</a> Dataene er nå lagt inn i sessionvariablene. Til neste side <?php // fil session-1.php session_start(); ?> Her skal dataene vises : <br/> <?php echo "Navn : ".$_SESSION["navn"]."<br/>"; echo "Adresse : ".$_SESSION["adresse"]."<br/>"; echo "Postnr : ".$_SESSION["postnr"]."<br/>"; ?> Her skal dataene vises : Navn : Ole OlsenAdresse : Drammensveien 1Postnr : 1001

  7. Sessions fortsetter • Ved start_session(); opprettes sessionID. • På server automatisk. • Unik for denne session (denne nettlesersesjon). echo "SesjonsID : ".session_id(); SesjonsID : 723312aa75fb443e43679476dbe1c656

  8. Sesjoner forts. • Session-informasjonen lagres i midlertidige filer på server med filnavn startende med sess_ • Filene ligger på server inntil de slettes av sletterutiner (garbage collection). • Standard er 24 minutter etter at de er aksessert sist (kan endres i php.ini). • Men som oftest lenger da slettingen gjøres når det er ledige ressurser på serveren. sess_723312aa75fb443e43679476dbe1c656

  9. En annen metode : Cookies • Tilstanden bevares på klienten (som temporære filer på din egen maskin). • Tjeneren legger ut cookiene på klientmaskinen dersom det ikke er sperret for det av nettleseren (maks 4 kbyte pr cookie) • Det er standard oppsett i nettleseren at cookies kan lagres på klientmaskinen • Må gjøre noe for å unngå at skrives til lokal disk

  10. Bruk av cookies • Ikke start_session(); • setcookie(”variabelnavn”,”verdi”,<tid>); • Eks : setcookie(”navn”,”Ole Olsen”); • Tid er optional, dersom ikke den er satt • Gjelder for denne nettleser-sesjonen • Hente data som en annen superglobal: • $_COOKIE[”navn”]. • Gir ”Ole Olsen”.

  11. Eksempel <?php setcookie("navn","Ole Olsen"); setcookie("adresse","Drammensveien 1"); setcookie("postnr","1001"); ?> Dataene er nå lagt inn i en cookie. <br/> <a href="cookie-1.php">Til neste side</a> Dataene er nå lagt inn i en cookie. Til neste side <?php // fil cookie-1.php echo "Her skal dataene vises : <br/>"; echo "Navn : ".$_COOKIE["navn"]."<br/>"; echo "Adresse : ".$_COOKIE["adresse"]."<br/>"; echo "Postnr : ".$_COOKIE["postnr"]."<br/>"; ?> Her skal dataene vises : Navn : Ole OlsenAdresse : Drammensveien 1Postnr : 1001

  12. Cookie med tid <?php setcookie("navn","Ole Olsen", time()+3600*24); setcookie("adresse","Drammensveien 1",time()+3600*24); setcookie("postnr","1001",time()+3600*24); ?> Dataene er nå lagt inn i en cookie. <br/> <a href="cookie-1.php">Til neste side</a> I sekunder. Time() er nå. I dette tilfelle 3600 sekunder = 1 time * 24 timer = et døgn Filen C:/Doc..../torkra/Loal Settings/Temp/Cookies/torkra@www.iu.hio[1].txt

  13. Fordeler /ulemper med Cookies • Fordeler • Kan lagre informasjon lenger. • Inntil cookien selv sletter seg (angitt i tidsparameter) eller til de midlertidige filene blir manuelt slettet. • Lager data over flere sesjoner (f.eks personlige preferanser i et nettsted). • Ulemper • Tjener / nettsted skriver filer ned på din maskin uten at du vet om det!

More Related