Avatar billede fynbo Nybegynder
24. marts 2006 - 13:18 Der er 2 kommentarer

problemer med at sætte session variabel

Har en index.php hvor jeg via require() henter de filer der skal bruges.

I toppen af index.php har jeg følgende kode:

<?php
/** session and output buffering */
session_start();
ob_start();

/** session variables */
session_register('fingerprint', 'user_id');
if(!isset($_SESSION['fingerprint'])) $_SESSION['fingerprint']= 0;
if(!isset($_SESSION['user_id'])) $_SESSION['user_id']= 0;

..

Via require henter jeg signup.php og får brugeren til at oprette sig. I signup.php sætter jeg så $_SESSION['user_id'] således:

$_SESSION['user_id'] = $user->save_user($_POST);

Jeg har sikret mig at den returnerer et tal, så det er ikke dér fejlen ligger. Jeg laver nemlig en print_r($_SESSION); i signup.php og ser nu at der står:
Array ( [fingerprint] => 0 [user_id] => 111 )

Derefter klikker jeg til en anden side og så er $_SESSION['user_id'] igen 0:
Array ( [fingerprint] => 0 [user_id] => 0 )

Hvis jeg derimod sætter $_SESSION['user_id']; i index-filen til en værdi, så gemmer den med det samme værdi og husker værdien.

Hvad gør jeg galt?
Avatar billede erikjacobsen Ekspert
24. marts 2006 - 13:38 #1
Først og fremmest så glem alt om session_register('fingerprint', 'user_id');  ... og prøv igen.
Avatar billede fynbo Nybegynder
24. marts 2006 - 13:58 #2
Har jeg prøvet og det virkede ikke. Fandt selv forslaget på php.net/session

Til gengæld smed jeg php 4.3 på maskinen (havde 4.2 før) og nu virker det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester