Avatar billede dallerweb.dk Nybegynder
23. januar 2005 - 22:43 Der er 4 kommentarer og
1 løsning

Fejl med session-cookies - dårlig programmering

Hejsa,

Jeg har et problem med session-cookies...

Noget af index.php:

<?
session_start();
if($ses == "0"){
session_unset(sesusr);
session_unset(sespass);
}
if($hmenu){
session_unset(htemp);
$htemp = $hmenu;
session_register(htemp);
}
if($hmenu){
$_SESSION['htemp'] = $hmenu;
}
if(!$hmenu){$hmenu=$_SESSION['htemp'];}
include("connect.php");
if(!$side){$side="forside";}

if($sesusr){
session_register(sesusr);
session_register(sespass);
}

?>

Sessioncookien er gemt så længe "$hmenu" ikke optræder, men når et link indeholdende $hmenu optræder nulstilles sessioncookies...

omvendt, ved $ses=0 nulstilles $hmenu også...

Hvad skyldes det? Dårlig programmering?
Avatar billede loevgaard Praktikant
24. januar 2005 - 08:39 #1
Ikke helt god programmering der, kunne du uddybe dit sprg?
Imens kunne du jo læse her: http://dk.php.net/session :)
Avatar billede dallerweb.dk Nybegynder
24. januar 2005 - 16:40 #2
Prøv http://kfums-soldatermission.dk/daniel

Login -> Login med "Hejsa" og "123"

Prøv så at navigere rundt uden at bruge menuen øverst.

(Evt. "Aktivering" og "Glemt kodeord")

Der står alle steder "logget ind som:......" Hvilket er fint (viser at session-cookies virker)

Men når $hmenu har været aktiveret (Via et klik i hovedmenuen) Så glemmes den!

Det må altså være galt her:

if($hmenu){
session_unset(htemp);
$htemp = $hmenu;
session_register(htemp);

Ligeledes modsat, hvis man logger af ($ses=0) så glemmes $hmenu-sessionen
Avatar billede sukos Juniormester
24. januar 2005 - 16:58 #3
Når du sætter en session, så brug
$_SESSION["noget"] = "Hejsa";

Når du vil slette en session,

unset($_SESSION["noget"]);


Brug ALDRIG variabler "med samme navn"

$_SESSION["noget"] = "Hejsa";

$noget = "Noget helt andet";

På en server med register_globals sat til on, vil den sidste være gældende!

if(isset($noget)) {
echo $noget;
}
Avatar billede dallerweb.dk Nybegynder
05. februar 2005 - 15:23 #4
sukos> Point?
Avatar billede sukos Juniormester
18. februar 2005 - 22:01 #5
ehh, jo tak!
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