/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
session variables newbie
Fra : Magnus


Dato : 10-07-03 22:59

Hej PHP-venner.

Jeg vil lave en simpel indkøbskurv.

Jeg har et array til mine varer der blot skal rumme varenummeret ($vare
[2234]), som så skal være = 1, hvis en vare er puttet i indkøbskurven, og
= 0 hvis ikke.

Senere, (når man "går til indkøbskurv") skal man kunne rette i antallet på
de enkelte varer. Det kan jeg finde ud af.

Jeg ville gerne have php til at huske dette array henover alle siderne.
Hvordan gør man? Jeg er nået til session_register, men kan ikke rigtig få
noget til at virke. Jeg kan finde ud af at lave et link der giver array-
variablen værdien 1, men den husker det ikke.
Hvordan skal man session registrere et array? Er der særlige regler?
Jeg har aldrig prøvet session variables før..... hjælp!

Er der en der gide skrive hele session koden (inkl. hvor den skal
placeres... på alle sider eller hvad?) Så bliver jeg lykkelig.

Mvh
Magnus

 
 
Thomas Lindgaard (11-07-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 11-07-03 00:10

Magnus wrote:

> Jeg vil lave en simpel indkøbskurv.
>
> Jeg har et array til mine varer der blot skal rumme varenummeret ($vare
> [2234]), som så skal være = 1, hvis en vare er puttet i indkøbskurven, og
> = 0 hvis ikke.

Davs

På hver side skal du huske at starte med at kalde session_start() -
ellers er du ikke inde i en session og har derfor ingenting med fra
tidligere.

Lidt (utestet) kode:

side1.php:
<?php
session_start();

$_SESSION['test_variabel'] = 1;
print 'test_variabel i denne session er sat til 1<br>';
print '<a href="side2.php">Næste side</a>';
?>

side2.php:
<?php
session_start();

$_SESSION['test_variabel']++;
print 'test_variabel i denne session er talt op til 2<br>';
print '<a href="side3.php">Sidste side</a>';
?>

side3.php:
<?php
session_start();

print 'nu skulle test_variabel i denne session gerne være 2...<br>';
print 'test_variabel = '.$_SESSION['test_variabel'];
?>

Det er ikke nødvendigt at registrere variable i ens session - man kan
arbejde direkte på $_SESSION-arrayet.

Håber det hjalp (og at koden i det hele taget er korrekt).
/Thomas


Jimmy (11-07-2003)
Kommentar
Fra : Jimmy


Dato : 11-07-03 06:56


"Thomas Lindgaard" <thomas@it-snedkeren.BLACK_HOLE.dk> wrote in message
news:3f0df26a$0$5190$edfadb0f@dread11.news.tele.dk...

> På hver side skal du huske at starte med at kalde session_start() -
> ellers er du ikke inde i en session og har derfor ingenting med fra
> tidligere.

Jeg er også ved at lære om sessions for tiden og jeg undrer mig over at jeg
kan anvende sessions *uden* at afvikle session_start() først.
i php.ini er session.auto_start = 0
Jeg kan uden problemer tilgå mine sessions på andre sider.

Hvorfor behøver jeg ikke session_start()?


Hvordan sætter man udløbstiden på en session, når man ikke vil/kan rode i
php.ini og helst vil undgå .htaccess?


Mvh
Jimmy




Morten Winkler Jørge~ (11-07-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 11-07-03 07:56

Jimmy wrote:

> Jeg kan uden problemer tilgå mine sessions på andre sider.
>
> Hvorfor behøver jeg ikke session_start()?
>
Fordi session_register() automatisk kalder session_Start() hvis du ikke selv
har gjort det på den enkelte side.


Morten

Jimmy (11-07-2003)
Kommentar
Fra : Jimmy


Dato : 11-07-03 09:15


"Morten Winkler Jørgensen" <mwj@INGEN_SPAM_TIL_MIG.mip.sdu.dk> wrote in
message news:belmn1$4pu$2@news.net.uni-c.dk...
> Jimmy wrote:
>
> > Jeg kan uden problemer tilgå mine sessions på andre sider.
> >
> > Hvorfor behøver jeg ikke session_start()?
> >
> Fordi session_register() automatisk kalder session_Start() hvis du ikke
selv
> har gjort det på den enkelte side.
´
Det har jeg ikke.

Jeg angiver sessionen på følgende måde:

$_SESSION['foo'] = "bar";

Er session_register() ikke kun for ældre versioner af php?

Mvh
Jimmy



Morten Winkler Jørge~ (11-07-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 11-07-03 09:20

> Er session_register() ikke kun for ældre versioner af php?
Jeg kører php 4.2.3. Om det så er ældre eller ej er op til dig selv

Morten

Jimmy (11-07-2003)
Kommentar
Fra : Jimmy


Dato : 11-07-03 10:51


"Morten Winkler Jørgensen" <mwj@INGEN_SPAM_TIL_MIG.mip.sdu.dk> wrote in
message news:belrl7$66o$2@news.net.uni-c.dk...
> > Er session_register() ikke kun for ældre versioner af php?
> Jeg kører php 4.2.3. Om det så er ældre eller ej er op til dig selv


Som jeg læser følgende afsnit:

Note: Please note when working with sessions that a record of a session is
not created until a variable has been registered using the
session_register() function or by adding a new key to the $_SESSION
superglobal array. This holds true regardless of if a session has been
started using the session_start() function.


Kan jeg altså oprette en session ved at angive:
$_SESSION['foo'] = "bar" ELLER ved hjælp af session_register().

Bagefter skriver de, at dette kan lade sig gøre uanset om jeg har afviklet
session_start() eller ej.

Derfor tænker jeg at jeg ikke behøver de to kommandoer?

Mvh
Jimmy






Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408936
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste