[WIN][PHP]Sessions uitlezen wil niet.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 17:51

WoutF

Hoofdredacteur
Topicstarter
Ik heb een probleempje. Ik ben met sessions bezig maar kan die krengen niet opvragen nadat ze geset zijn.

login.php

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?
session_start();
include("dbase.php");

if (isset($_POST[Submit]))
    {
        $pwd = md5($_POST[pwd]);
        $check_login_data = mysql_query("select * from users where 
vnaam = '$_POST[username]' and ww = '$pwd'",$db);
        $login_data = mysql_fetch_array($check_login_data);
        if (mysql_affected_rows() != 1)
        {
            echo "Login gegevens kloppen niet";
        }
        else
        {
            $_SESSION['userID'] = $login_data[ID];
            $_SESSION['user'] = $login_data[vnaam];
            $_SESSION['userlevel'] = $login_data[level];


        print_r($_SESSION);
        }
    }
else
    {
        echo "<html><form name=\"login\" action=\"$PHP_SELF\" method=\"POST\">
        <input type=\"text\" name=\"username\"><br>
        <input type=\"password\" name=\"pwd\"><br>
        <input type=\"submit\" name=\"Submit\" value=\"Login\">
        </form>";
    }


?>


Dit gaat allemaal goed. In de session folder worden na het submitten van deze form netjes de session bestanden aangemaakt. Op het scherm wordt de session array geprint. Als ik deze bekijk, staat hier de goede data in.

Dan probeer ik de sessie data op te halen, in een andere file.
test.php
PHP:
1
2
3
4
5
6
7
8
<?
session_start();
if (session_is_registered('user'))
{
echo "ok"; 
print_r($_SESSION);
}
?>


Output.......niks

Windows XP, Apache 1.3.x, MySQL 4.x
De session files worden aangemaakt, hij print het na het submitten op het scherm, maar via een apart bestand opvragen lukt niet.

[ Voor 12% gewijzigd door WoutF op 23-05-2003 21:16 ]


Acties:
  • 0 Henk 'm!

Verwijderd

www.php.net

If you are using $_SESSION and disable register_globals, do not use session_register(), session_is_registered() and session_unregister(), if your scripts shall work in PHP 4.2 and earlier. You can use these functions in 4.3 and later.
Gebruik dus isset() of iets dergelijks ;)

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 15:29

MBV

Zoieso lijkt het handig om met een php-script ook de php-versie te laten zien :)
En isset() werkt altijd wel aardig voor variabelen. Waarom haal je voor testen de if trouwens niet weg, om te kijken wat er in de array staat?

NOg een tip: er is een functie om je array netjes te printen, weet alleen niet meer hoe die heet :X

Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

PHP:
1
print_r($array_naam);


;)

Ja man


Acties:
  • 0 Henk 'm!

  • WoutF
  • Registratie: Maart 2000
  • Laatst online: 17:51

WoutF

Hoofdredacteur
Topicstarter
PHP:
1
2
3
4
<?
session_start();
print_r($_SESSION);
?>

Geeft een lege array als output

code:
1
Array ( )


En die code zou toch echt moeten werken