Toon posts:

[php] session verlopen na x doorlinken?

Pagina: 1
Acties:

Verwijderd

Topicstarter
okee, ik ben hier vandaag al de hele dag mee bezig, en ik kom er ECHT NIET uit. ben tevens uitgebreid wezen googelen, en een stuk of 50 sessie-topics hierow doorgelezen, maar het mocht niet baten :(

le situation:
ik heb een mooi beveiligd stukkie op mijn website, en bij elk te beveiligen page 'require' ik het volgende script op de eerste line:

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
function mkloginbox($status) {
// irrelevant ge-echo van een login-formpje
}
if (!isset($userdata->userid)) {
    if (!isset($_POST['username']) && !isset($_POST['password'])) {
        mkloginbox("Enter your username and password below");
        exit;
    } else {
        $username = $_POST['username'];
        $password = $_POST['password'];
        if (!get_magic_quotes_gpc()) { 
            $username = addslashes($username); 
            $password = addslashes($password); 
        }
        $password = md5(stripslashes($password));
        require("../include/connect.php");
        $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
        
        $res = mysql_query($sql) or die(mysql_error()); 
        
        if (mysql_num_rows($res) > 0) {
            $row = mysql_fetch_object($res); 
            $userdata->userid = $row->userid; 
            $userdata->username = $row->username; 
            $userdata->firstname = $row->firstname; 
            $userdata->surname = $row->surname; 
            $userdata->email = $row->email;
            $_SESSION['userdata'] = $userdata;
        } else {
            mkloginbox("Login incorrect, please try again");
            exit;    
        }
    }
}


ik heb inmiddels _uitgebreid_ lopen spelen met $_SESSION[], session_start(); session_is_registered(); en session_register();

maar goed; het inloggen op zich werkt, de sessie wordt aangemaakt, en kan netjes op een pagina met 'print_r($_SESSION);' worden weergegeven, maar als ik dan vanaf die pagina een linkje klik (bijvoorbeeld naar $_SERVER['PHP_SELF']) dan krijg ik weer doodleuk het login schermpje! terwijl ik dus wil dat ie ingelogd blijft.

is er iemand die mij een (harde) trap in de goeie richting kan geven?

[ Voor 0% gewijzigd door Verwijderd op 19-09-2002 00:09 . Reden: toevoeginkje ]


  • DiedX
  • Registratie: December 2000
  • Laatst online: 21:17
* DiedX is een PHP-Noob

Je start je sessie wel met session_start()?

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


Verwijderd

Uhm ... je leest $_POST uit, niet $_SESSION. Dus de pagina nadat je gepost hebt kan je de inlognaam + password vinden, maar daarna niet meer.

Succes :)

Verwijderd

Topicstarter
php.net:
With $_SESSION or $HTTP_SESSION_VARS, there is no need to use session_register()/session_unregister()/session_is_registered() functions.
ik heb echt vanalles geprobeert, wel registeren, niet registeren uit $_SESSION trekken, ik heb het e.e.a. zelfs op 2 servers uitgeprobeert en met de php.ini zitten kloten kijken of dat wat uit zou maken... niet dus :|

Verwijderd

Topicstarter
Verwijderd schreef op 19 september 2002 @ 00:12:
Uhm ... je leest $_POST uit, niet $_SESSION. Dus de pagina nadat je gepost hebt kan je de inlognaam + password vinden, maar daarna niet meer.

Succes :)
ff het eerste if statement explained:
PHP:
1
if (!isset($userdata->userid)) { // ALS $userdata->userid niet ge'set' is, dan:

(mjah, als de sessie aangemaakt is, is dees dus WEL registered, ik heb hiervoor in deze statement een stuk of 5 verschillende dingen geprobeert, die allemaal in het bestand waarvan ik dit script aanroep te 'echo' en zijn en ge'set' zijn enzo.

Verwijderd

Topicstarter
om het e.e.a. even netjes af te sluiten; de uiteindelijke oplossing:
*schaam* ik heb toch voor de gein maar even session_start(); toegevoegd aan het begin van die php file. en nu werkt het allemaal lekker.

ik had het idee dat ik dit al eerder had geprobeert en het toen later weer niet werkte :? maar goed. voorlopgi werkt het zo, thankt for all the support ppl!
Pagina: 1