TestMax.dk Paster
  • Forside
  • Print
  • Bookmark
  • Kontakt
  • SiteMap


infobox infobox
 

Session guide

25-05-2006 18:05:00
 
 
Muligheder (Anmeld)
Skrevet af Panda
Kliks 1288
Kategori PHP Guide's
Denne guide er lavet af Sprecker så han får alt credit for guiden =)

Sessions, er meget brugbare til f.eks. store sider - eller bare en lille tagwall hvor du ønsker at overføre noget data fra side 1 til side 2, men uden at skulle benytte form's osv. .

Sessions

"Husk altid at starte sessions - hvis du vil benytte 'server-site sessions'."

Det er vitalt, at man altid husker at starte sessions før noget som helst bliver smidt i hovedet af browseren, gerne helt i toppen. Sessions startes via en lille funktion kaldet session_start.

Du skriver simpelthen bare session_start(); i starten af php scriptet.

Du kalder og sætter sessions via array'et $_SESSION
Nå men lad os spring ud i det, og lave en side, der smider noget information i disse sessions .

Side1.php

CODE
<?php
session_start();

//Her smider vi noget data i sessionerne.

$_SESSION[data_fra_side_1] = "Dette er nogle data som vi overfører fra side 1, til side 2";

?>

<a href="side2.php<?=SID?>">Se resultatet</a>


Den hurtige læser lagde nok mærke til at der i linket, blev kaldt en PHP funktion kaldet "SID" - det er nemlig således, at nogle browsere ikke accepterer cookies - og selvom sessions er serversite, skal man have opbevaret et session ID et eller andet sted. Således webserveren ved hvem der er hvem. <?=SID?> smider nemlig session ID'et bagefter linket til side 2, så kan de browsere der ikke gider have noget med cookies at gøre, nemlig også lege med .

Det skal dog siges, at de fleste webhotel udbydere efter hånden kompilere PHP således at PHP selv indsætter dette session ID efter links. Hvis du selv hoster din side, skal du kompilere php med --enable-trans-sid.

Nå det var et lille side spring, dog informativt, videre til "side2.php" som er den side, hvor vi kan se at der rent faktisk er blevet overført nogle data, altså et resultat.

Side1.php

CODE
<?php
session_start();
?>

Resultat: <?php print $_SESSION[data_fra_side_1]; ?>

Det siger vist rimeligt meget sig selv, så jeg vil egenligt bare slutte af med at ønske jer held og lykke
Portfolio: http://dumpen.dk

Panda's signatur billede
 
infobox infobox


infobox infobox
 
#1Drax(Anmeld) 25-05-2006 18:40:00
 
 
Sessions er super dejlige og bruge, men dog vil jeg ikke anbefale at bruge dem i en situation hvor du skal sende en bruger over på en nyheds side med et ID, pga. en session ikke lever for altid :) og derfor vil siden få fejl hvis man er på samme side i f.eks. 30 min, den kan jo ik finde det ID du refererede til pga. den session nu er slettet :)

Lidt indviklet forklaret men det er bare et tip til jer :)
Administrator - TestMax.dk Stifter/Udvikler

Drax's signatur billede
 
infobox infobox

infobox infobox
 
#2Mini^(Anmeld) 25-05-2006 21:14:00
 
 
Jeg bruger selv næsten kun sessions til at huske et bruger id eller lignende i forbindelse med login.
Mini`
 
infobox infobox

infobox infobox
 
#3Panda(Anmeld) 26-05-2006 12:06:00
 
 
Cookies ftw :]
Portfolio: http://dumpen.dk

Panda's signatur billede
 
infobox infobox

infobox infobox
 
#4Drax(Anmeld) 26-05-2006 15:31:00
 
 
Bar ik når cookie's er slået fra i brugerens browser =D
Administrator - TestMax.dk Stifter/Udvikler

Drax's signatur billede
 
infobox infobox

infobox infobox
 
#5Mulle(Anmeld) 26-05-2006 16:32:00
 
 
nej men drax der er det jo smart at man kan lave så den checker om cookies er on eller off

og hvis det så er off skal den bruge session istede? :D
There is a lot of things to think about, but nothing to worry about.
Everybody is special to your life!
Its nice to be important but it is more important to be nice.
Love is Forever but Friends are for Eternity.
Were you born to resist or be abused?

Mulle's signatur billede
 
infobox infobox

infobox infobox
 
#6lahma(Anmeld) 26-06-2006 19:44:00
 
 
Sessions kan også sættes til at vare evigt :)
 
infobox infobox

infobox infobox
 
#7Nicklasw(Anmeld) 02-06-2007 14:43:51
 
 
Hvordan #6 ?
 
infobox infobox

Påmindelse ved nyt svar

Ved at tilmelde dig automatisk påmindelse, modtager du en email så snart denne tråd bliver besvaret, dog sender vi kun en mail til dig, også selvom der er kommet flere svar, simpelthen for at spare dig for spam i din indbakke.


infobox infobox
  Svar på tråden  
   
 
 
infobox infobox

infobox infobox
  Læs dette før du sender dit indlæg!  
 
Ved tryk på send knappen accepterer du vores regelsæt som kan læses her
Praktiske informationer
Type Eksempel Resultat
Fed [b]din tekst[/b] din tekst
Kursiv [k]din tekst[/k] din tekst
Understreg [u]din tekst[/u] din tekst
Kode felt [code]din tekst[/code]
din tekst
infobox infobox