Avatar billede xenophobia Nybegynder
06. april 2002 - 23:25 Der er 26 kommentarer og
1 løsning

Dø session! :D

Hjemme på min puter kan jeg slå min session ihjel, men når jeg fyrer:

<?
    session_start();

    include("top.php");

    session_destroy();
    echo "Du er nu logget ud.";

    include("bottom.php");
?>

af på mit webhotel så:

Warning: Session object destruction failed in D:iknoetwwwrootlogud.php on line 6


Linje 6 :    session_destroy();
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:30 #1
*host* haster *hrøøøøm*
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:32 #2
Helt præcist er den:

<?
    session_start();
    global $login;
    global $id;
    global $name;
    global $status;

    session_destroy();
    header("Location: medlemsside.php");
?>
Avatar billede Slettet bruger
06. april 2002 - 23:36 #3
D:iknoetwwwrootlogud.php ?

Er det dit webhotel?
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:37 #4
Ups.

Cliche.dk

logud.php:
<?
    session_start();
    global $login;
    global $id;
    global $name;
    global $status;

    session_destroy();
    header("Location: medlemsside.php");
?>
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:38 #5
Den siger brokker sig når jeg bruger:


<?
    header("Location: enside.php");
?>

uanset på hvad side, og jo den står i toppen.
Avatar billede Slettet bruger
06. april 2002 - 23:39 #6
Brokker sig?
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:43 #7
Warning: Session object destruction failed in (...)\logud.php on line 6
Avatar billede Slettet bruger
06. april 2002 - 23:46 #8
Ehhm - den warning har da ikke noget med header("Location ... tingen at gøre?
Avatar billede geffen Nybegynder
06. april 2002 - 23:47 #9
grunden til at den brokker sig ved header kan være fordi du skal flytte header op føre global som her:
<?
    session_start();
    header("Location: medlemsside.php");
    global $login;
    global $id;
    global $name;
    global $status;
    session_destroy();
?>
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:50 #10
Session'en bliver ikke likvideret der - man bliver redirected...

mercur8 >> Nej, men hvis jeg kører:

<?
    header("Location: enside.php");
?>

alene gider den heller ikke.

Det virkede fint på IIS m. PHP. Det kan også være jeg har gjort noget!?
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:51 #11
mercur8 >> Dvs. det er faktisk kun på index-siden jeg får fejl med den kode, men pyt med det - mit spm hvordan får jeg gjort session'en kold?
Avatar billede geffen Nybegynder
06. april 2002 - 23:52 #12
Jeg er ikke helt med i hvorfor du åber en session når du ikke bruger den til noget, eller er det nødvendigt for at global virker, hvilket jeg aldrig har fået til at virke.. :/ ??
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:54 #13
Man skal starte sessionen for at pille ved den - ellers ligger den bare og venter på man lukker vinduet...
Avatar billede geffen Nybegynder
06. april 2002 - 23:55 #14
men jeg at både session...() og header() ikke vil acceptere at der bliver arbejdede med variabler før de er afviklet i scriptet... = altid headder og session øverst i dit script
Avatar billede xenophobia Nybegynder
06. april 2002 - 23:59 #15
Hvorfor vil de så på IIS?
- hvad vil du forslå i stedet så?
Avatar billede geffen Nybegynder
07. april 2002 - 00:10 #16
jeg vil forslå at du læse lidt her, der er noget om sessions og global, da ved ikke meget om det: http://www.php.net/manual/en/ref.session.php
Avatar billede xenophobia Nybegynder
07. april 2002 - 00:21 #17
Har læst.
Når jeg prøver:


<?
    session_start();
    global $login;
    global $id;
    global $name;
    global $status;
    session_unset();
    session_destroy();
    header("Location: medlemsside.php");
?>




giver det:


Warning: Session object destruction failed in D:\web\wwwroot\logud.php on line 8

Warning: Cannot add header information - headers already sent by (output started at D:\web\wwwroot\logud.php:8) in D:\web\wwwrppt\logud.php on line 9
Avatar billede geffen Nybegynder
07. april 2002 - 00:34 #18
prøv at flytte header op i toppe... den skal nok udføre session før den sender siden vidre
Avatar billede xenophobia Nybegynder
07. april 2002 - 01:01 #19
Den destroyer ikke sessionen. Har prøvet. Men hvorfor viker det ikke, når det gør på en anden web-server?
Avatar billede geffen Nybegynder
07. april 2002 - 01:21 #20
Jeg har ikke leget med session_destroy da jeg ikke har fået lavet et logout script endnu, så jeg kan ikke hjælpe dig yderligere, sorry.
men jeg skal nok skrive lige så snart jeg ved besked hvis der ikke er kommet mig en i forkøbet inden ;)
Avatar billede sukos Juniormester
07. april 2002 - 04:17 #21
Jeg bruger denne: (logud.php)

<?php
require ("include.php");
session_unregister("sessionnr");
session_unregister("Name");
session_unregister("Pass");
unset($sessionnr, $Name, $Pass);
header("Location:login.php");
?>

include.php er den jeg registrer sessions med.
Avatar billede tipsen Nybegynder
07. april 2002 - 17:53 #22
Har du undersøgt om sessionen rent faktisk er skyldig inden du kynisk prøver at likvidere den!? ;-)

Seriøst: Du er sikker på, at der rent faktisk er en session?
Avatar billede xenophobia Nybegynder
07. april 2002 - 19:36 #23
Ja for hvis der ikke er registreret nogle variabler så kan man ikke se "de hemmelige ting" :)
Avatar billede xenophobia Nybegynder
07. april 2002 - 19:44 #24
sukos dit virkede, læg et svar =)

Min kode:

<?
session_start();
session_unregister("login");
session_unregister("id");
session_unregister("name");
session_unregister("status");
unset($login, $id, $name, $status);
header("Location: default.php");
?>
Avatar billede encorez Nybegynder
09. april 2002 - 01:58 #25
Nu var sukos godt nok, men hvis du checker på php.net så vil du på deres bugs, sider faktisk kunne læse om at det er en fejl i php, at du fejl når du bruger session_destroy(). Jeg havde selv problemet for nogle uger siden. Dog står der på siden at det faktisk burde virke efter php. 4.0.6 (tror jeg, måske 4.0.3), min er i hvert fald nyere men alligevel virker det ikke. Så jeg bruger også unregistre på alle mine globale variable og det virker fint ja. Men nu har du en lille begrundelse til hvorfor du ikke kunne få det til at virke

Mvh. Simon
Avatar billede xenophobia Nybegynder
09. april 2002 - 08:31 #26
Øhhm...okay
Avatar billede sukos Juniormester
13. april 2002 - 18:01 #27
Hmm, 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