Top
Phpuniverset logo
 

INDHOLD

Forside

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


Propelcom

ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Kort om Session [rettet]

Forside Kategori PHP/MySQL Kort om Session [rettet]




 

Kort om sessions
Sessions er en feature der gør det muligt, på den ene eller anden måde, at gemme variabler på tværs af forespørgsler til webserveren, og dermed PHP.

I PHP findes der flere forskellige måder hvorpå sessions kan laves. Lad os starte med hvordan PHP identificerer de forskellige brugere fra hinanden. Som standard gemmer PHP en cookie med et unikt ID i. Et ex. på det kunne være "OjLsRYLj1fAAACnsexk". Understøtter browseren ikke cookies, eller hvis brugeren har disabled dem, virker dette naturligvis ikke, og session'sne kan ikke køre.

En løsning på dette er at inkludere det førnævnte unikke ID i querystrengen. Dette gøres med:

<A HREF="nextpage.php?<?=SID?>">click here</A>

Det er selvfølgelig enormt upraktisk - set fra den dovne programmørs vinkel - så derfor har man opfundet en funktion der scanner dokumentet igennem for links og tilføjer det unikke ID på alle links mv. Da dette er enormt resourcekrævende er der næsten ingen ISP'er der tilbyder dette, men kan være en god ting hvis man har sin egen server. Dette gøres ved at compile PHP med --enable-trans-sid.

De registrede data der opsamles i session'en bliver pr. default gemt i en textfil specificeret i konfigurationen. Du kan dog også vælge selv at definere hvor du vil gemme dine data. Kig på funktionen session_set_save_handler() hvis du vil det!

Start session'en
Pr. default bliver sessions ikke startet automatisk (kan ændres ved konfigurationsdirektivet session.auto_start). Derfor skal du øverst på de sider du ønsker at anvende sessions køre funktionen sessions_start(). Nu vil der, hvis der ikke findes en allerede, blive sat en cookie med det unikke ID i. Hvis cookien allerede findes hentes de gemte variabler ind og gøres tilgængelige.

Gemme værdi
For at gemme en værdi i en session bruges session_register(). Herefter vil værdien være tilgængelig for andre dokumenter. For at hente den tilbage igen er det lavet så smart at du bare bruger variabelnavnet. Altså har du gemt $gnyf i et dokument, hedder den stadig $gnyf i et andet!

Et lille eksempel


session1.php


<?php if ($navn) { session_start(); // Lad os begynde! session_register("navn"); // Gem $navn } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Session1.php</title>
</head>
<body>
<?php if ($navn) { ?>
<b>Tak for det!</b><br> Gå nu videre til <a href="session2.php">seesion2.php</a>
<?php } else { ?> <form action="session1.php"> <b>Skriv dit navn - tak!</b><br>
<input type="text" name="navn"><br>
<input type="submit" value="okiedokie">
</form>
<?php } ?>
</body>
</html>


session2.php

<?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Session1.php</title>
</head>
<body>
<?php print "Dit navn er: <b>".$navn."</b>"; ?> <br><br>Smart!
</body>
</html>



Håber i kunne bruge denne artikel til noget! :)

//Per H



Skrevet af: Per H | Dato : 2008-11-27 09:5 | Læst : 5068 gange | Print

Din kommentar og karakter til artiklen

Din karakter:

1

2

3

4

5

6

7

8

9

10

Kommentar:

Log ind for at give en karakter og kommentar.

Kommentarer og karakterer til artiklen

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

FORUM

Nyeste forum indlæg :

PHP/Opencart import module

Opencart/php import modul hjælp

Lækkert kontor / kontorfællesskab i Helsingør

Opdatering af PHP

Vurdering af hjemmeside

Nyeste forum svar :

Grafik problemer

Prissammenligningsside

Jeg yder fremover ikke support!

PHP - Meget simpelt nyhedsbrev

glFTPd admin module til windows

 

MEDLEM

LOGIN ER IKKE MULIGT, MENS VI LAVER NYT SITE
 

NYHEDSBREV

Nyhedsbrev

Tilmeld dig vores nyhedsbrev og modtag nyheder om nye scripts og tips samt om mange andre nye tiltag på Phpuniverset.dk


 

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk - android talk & help

Bund