Avatar billede elduce Nybegynder
23. december 2003 - 17:55 Der er 11 kommentarer og
2 løsninger

Session stopper ved tryk på internt link

Jeg har rodet med et meget simpelt login-system på denne adresse: http://www.kampsax.dtu.dk/~rik_j/test/intro.php

Problemet er ret basalt at sessionen ikke bliver husket videre på de næste sider, hvilket den vel burde gøre? Jeg er ret sikker på at der er noget meget simpelt omkring sessions jeg har misforstået, så er der en der gider forklare ;o) ?
Avatar billede elduce Nybegynder
23. december 2003 - 17:57 #1
Kode: intro.php>
<?
session_start();
$_SESSION["s_id"] = "0";
?>
<html>
<head>
<title>Testside</title>
</head>

<body>
<table border="2">
<tr>
    <td>Overskrift <?
    print("Session:<pre>");print_r($_SESSION);print("</pre>");
        ?>
</tr>
<tr>
    <td>
        Menu<br>
        <a href="index.php?page=login">Login</a><br>
        <a href="index.php?page=noget">noget</a>
   
   
   
    </td>
    <td>Brødtekst</td>
</tr>
</table>
</body>
</html>

kode: index.php>
<html>
<head>
<title>Testside</title>
</head>

<body>
<table border="2">
<tr>
    <td>Overskrift
    <?
    print("Session:<pre>");print_r($_SESSION);print("</pre>");
        ?>
    </td>
</tr>
<tr>
    <td>
        Menu<br>
        <a href="index.php?page=login">Login</a><br>
        <a href="index.php?page=noget">noget</a>
   
   
   
    </td>
    <td>
    <?
    switch ($page) {
        case "login":
            include ("dev/login.php");
            break;
        case "tjeklogin":
            include ("dev/checklogin.php");
            break;
        default:
            print ("test");
            break;
    }
       
    ?>
    </td>
</tr>
</table>
</body>
</html>

Login og pass er begge "test"
Avatar billede fangel Nybegynder
23. december 2003 - 17:58 #2
du mangler en

session_start();

på index siden - det skal der være på alle sider der vil benytte sessionen

Morten
Avatar billede elduce Nybegynder
23. december 2003 - 18:02 #3
hmm - har tilføjet session_start(); på index også, men variablen fra intro bliver ikke overført.
Avatar billede fangel Nybegynder
23. december 2003 - 18:09 #4
hmm - interesant... prøv at lav filerne

---- 1.php ---
<?php
session_start();
$_SESSION['foo'] = 'bar';
echo $_SESSION['foo'] . "<br>\n";
echo '<a href="2.php">videre</a>';
?>
---

--- 2.php ---
<?php
session_start();
echo $_SESSION['foo'];
?>
---

og se om de virker efter hensigten...

Morten
Avatar billede elduce Nybegynder
23. december 2003 - 18:11 #5
Avatar billede fangel Nybegynder
23. december 2003 - 18:16 #6
har du mulighed for session?

lav denne fil

--- phpinfo.php ---
<?php

phpinfo();

?>
---

og post linket her så kan vi se om du overhovedet må lave sessions...

Morten
Avatar billede elduce Nybegynder
23. december 2003 - 18:21 #7
Avatar billede fangel Nybegynder
23. december 2003 - 18:25 #8
meget mystisk - det ser helt rigtigt ud...

skal desvære løbe nu - familiefest, det er jo juletid ;)

Morten
Avatar billede Slettet bruger
23. december 2003 - 18:39 #9
Prøv med nedenstående og se om det hjælper:
<?php
session_start();
$_SESSION['foo'] = 'bar';
echo $_SESSION['foo'] . "<br>\n";
echo '<a href="2.php?PHPSESSID='.session_id().'">videre</a>';
?>
Avatar billede elduce Nybegynder
23. december 2003 - 18:42 #10
Desværre virker det heller ikke: http://www.kampsax.dtu.dk/~rik_j/test/1.php
Avatar billede detox Nybegynder
23. december 2003 - 19:36 #11
Med din ver. 4.0.2 skal du bruge: $HTTP_SESSION_VARS (<4.0.6). Se eksempler på:
http://dk2.php.net/manual/en/ref.session.php
Avatar billede elduce Nybegynder
23. december 2003 - 20:13 #12
detox svar det helt rigtige. Nu funker det som det skal :o)

5 point til dea_pg for sin hjælpsomhed ;o)
Avatar billede fangel Nybegynder
24. december 2003 - 11:07 #13
detox -> DOH, hvorfor så jeg ikke det... kiggede kun på session-afsnintet...
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