[PHP] Session vaagheden

Pagina: 1
Acties:

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02:18

Gerco

Professional Newbie

Topicstarter
Indien dit al eerder is langsgekomen, jullie weten zo langzamerhand wel dat ik eerst search, maar zelfs in de search zijn er teveel bomen om het bos nog te zien :P

In de PHP manual staat dat als je $HTTP_SESSION_VARS["blaat"]="bladiebla" gebruikt, er automagisch een mooie session variabele wordt session_register() 'ed.

Het vage is dat ik daar niet zo heel veel van merk, doe ik het WEL met session_register(), werkt het prima.

Mijn vraag is: "Heb ik iets gemist of klopt dit gedrag?"

Even de code erbij voor de duidelijkheid:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Session maken en vars zetten
    session_start();

// Deze gebruikte ik eerst, maar die werken niet.
//    $HTTP_SESSION_VARS["userid"]   = $row["userid"];
//    $HTTP_SESSION_VARS["username"] = $row["username"];
//    $HTTP_SESSION_VARS["check"]    = magic_make_check($userid,$username,$magic);    

// Om de een of andere vage reden werkt DIT wel... :?
session_register("userid");    
session_register("username");    
session_register("check");    
$userid   = $row["userid"];    
$username = $row["username"];    
$check    = magic_make_check($userid,$username,$magic);

edit:
Teringproxy hier vern*ukt mn edits... M$ Proxy server he...

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
probeer eens met $_SESSION :?

en mijn code:

session_start();
code:
1
2
3
4
5
6
7
8
9
10
if (isset($_SESSION['count'])) {
   $_SESSION['count']++;
    if($_SESSION['count']>5) 
        {
        session_destroy();
        }
}
else {
   $_SESSION['count'] = 0;
}

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02:18

Gerco

Professional Newbie

Topicstarter
Op vrijdag 26 april 2002 13:54 schreef Nielsz het volgende:
probeer eens met $_SESSION :?
Ik zou wel willen, maar aangezien het op php4.0.6 moet draaien, gaat die vlieger niet op.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op vrijdag 26 april 2002 13:54 schreef Gerco het volgende:

[..]

Ik zou wel willen, maar aangezien het op php4.0.6 moet draaien, gaat die vlieger niet op.
ah :)
code:
1
If you are using $HTTP_SESSION_VARS/$_SESSION and disable [i]register_globals[/i], do not use session_register(), session_is_registered() and session_unregister().

Maar dat zal wel zo zijn ;)

Imo werkt deze manier pas vanaf 4.1.0

Verwijderd

Ik had ongeveer zoiets met $_SESSION met PHP 4.1.2 op een Windows 2000 PC met Apache.

Het bleek dat er een bug in die PHP versie zat, waardoor de sessie variabelen niet automatisch geregistreerd werken, exact hetzelfde als wat jij hebt, maar met een upgrade naar PHP 4.2.0 ging het helemaal zoals het hoorde.

Misschien moet je dus even op bugs.php.net kijken of er een bug in jouw PHP versie zit?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02:18

Gerco

Professional Newbie

Topicstarter
Op vrijdag 26 april 2002 13:57 schreef Cheatah het volgende:
Ik had ongeveer zoiets met $_SESSION met PHP 4.1.2 op een Windows 2000 PC met Apache.
Hmm, * Gerco draait Apache en PHP4.0.6 onder Windows 2000...

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Ik lees net al minstens 3 reports dat met Win2k PHP versie 4.0.6 $HTTP_SESSION_VARS niet corret werkt als de register_globals niet geactiveerd is.

Ik zou echt upgraden naar 4.2.0, en $_SESSION gaan gebruiken :)

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02:18

Gerco

Professional Newbie

Topicstarter
Op vrijdag 26 april 2002 14:04 schreef Cheatah het volgende:
Ik lees net al minstens 3 reports dat met Win2k PHP versie 4.0.6 $HTTP_SESSION_VARS niet corret werkt als de register_globals niet geactiveerd is.

Ik zou echt upgraden naar 4.2.0, en $_SESSION gaan gebruiken :)
- register_globals staat aan
- Upgraden is niet aan mij :(

(En het moet uiteindelijk op 1 of andere unix variant gaan draaien, geen idee welke, is bij een hosting provider)

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Grum
  • Registratie: Juni 2001
  • Niet online
Dit alles klopt:

1/ windows versie van 4.1.2 had een bug
2/ in 4.0.x werkt assigning aan $HTTP_SESSION_VARS niet en MOET je session_register gebruiken
3/ in 4.1+ werkt het wel en kan je beter $_SESSION gebruiken

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02:18

Gerco

Professional Newbie

Topicstarter
tnx Grum,

Het is vervelend maar het moet maar met session_register(), kan ik wel mee leven.

PS. Het werkt allemaal goed met error_reporting(E_ALL), ik leer het wel >:)
PS2. Hoe declareer je eigenlijk een variabele in PHP? Hij is tevreden als ik $var = ""; doe, maar is dat ook "de" manier?

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!

Pagina: 1