User Tools

Site Tools


linuxbog:web:cookies
Linux - Friheden til egen webserver: Version 2.5.20040516 - 2020-12-31
forrige Kapitel 4. PHP: Hypertext Processor næste

4.8. Infokager (cookies)

Infokager er små stykker information, der gemmes hos brugeren, og kan hentes frem igen af netlæseren ved det næste besøg. De kan bruges til mange formål, eksemplet nedenunder viser hvordan man kan spare en bruger for at indtaste den samme information igen i en formular.

Programmeringsmæssigt skal man først indsamle informationen, via en FORM-formular, denne udfører en anden HTML-side, hvor man så kan se den indsamlede information, og gemme informationen hos brugeren. Gemningen af informationen, med PHP-funktionensetcookie()skal ske før der overhovedet er skrevet andet ud, incl. den begyndende DTD og <html>-mærket. Informationen gemmes som regel i en tekstfil et administrationskatalog for netlæseren i brugerens hjemmekatalog, for eksempel~/.netscape/cookies.

Eksemplet indeholder to sider:bestilling.phpogbestilt.php.bestilling.phper siden brugeren kommer til og indtaster oplysningerne, ogbestilt.phper den side som kvitterer for indtastningen. De to filer udgør et komplet eksempel, der kører.

Siden "bestilling.php":
<html><head></head><body>
<? 
  $navn=$HTTP_COOKIE_VARS["navn"];
  $epost=$HTTP_COOKIE_VARS["epost"];
?>
<FORM method="post" action="bestilt.php">
  Navn: <INPUT name="navn" value="<? echo $navn; ?>" >
  Epost: <INPUT name="epost" value="<? echo $epost; ?>" >
  <INPUT type="submit" value="Bestil">
</FORM> </body>

“bestilling.php” indhenter information om navn og epostadresse, via indtastning. Hvis vi tidligere har fået informationen og gemt den i infokager hos brugeren, så vil eksemplet udfylde indtastningen på forhånd med disse værdier. Dette sker ved at hente informationen via PHPs systemvariabel HTTP_COOKIE_VARS, som ved aktiveringen af siden allerede indeholder alle infokager for netstedet, og give det som værdier med VALUE tildelinger, og brug af PHP echo-udskrivning.

Siden "bestilt.php":
<?
  setcookie("navn",$navn,time()+3600*24*365,"/",".ditfirma.dk");
  setcookie("epost",$epost,time()+3600*24*365,"/",".ditfirma.dk");

echo "<html><head></head><body>Dit navn: " . $navn . "<br>Din epostadresse: " . $epost . "</body>" ;
?>

bestilt.phpaktiveres med tryk på “Bestil”-knappen frabestilling.php. Den får med over alle variable fra formularen ibestilling.php, og det første vi gør er at sende infokagerne til brugeren medsetcookie().

Parametrene er: 1: navnet på infokagen, 2: værdien, 3: hvor længe infokagen gælder, i eksemplet et år (i sekunder), 4: en sti hos værten, som regel “/” (og der er netlæsere, der ikke forstår andet), 5: domænenavnet for værten, “.” betyder incl alle underdomæner. Dette er navnet på de web-servere der kan få fat på infokagen igen. Hvis du leger med eksemplet hér, så husk at ændre domænenavnet til dit eget domænenavn.

Dernæst udskriver vi et lille HTML-skript med de indtastede oplysninger. Bemærk “.” bruges til at sætte flere strenge sammen til én streng i PHP, derved undgås mangeechosætninger.


forrige hjem næste
Loops op PHP eksempler
linuxbog/web/cookies.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.