[PHP] Session werkt niet goed op server

Pagina: 1
Acties:
  • 62 views sinds 30-01-2008

  • Sabi
  • Registratie: Mei 2002
  • Laatst online: 10-06 14:41
Ik ben met een aantal php files lokaal aan de gang geweest en heb hiervoor een inlog gemaakt door middel van sessions. Lokaal werkt alles goed. Ik kijk in het begin van elk bestand of de gebruiker ingelogd is. Zoniet, gaat hij naar de inlogpagina en moet alsnog inloggen:
PHP:
1
2
3
4
if (!$SESSIE) { 
  header ("Location: http://localhost/inloggen.php");
  exit; 
  }

(de lokale versie)
In het inloggen maak ik natuurlijk de sessie aan:

PHP:
1
2
3
4
$SESSIE = 1;
session_register("SESSIE");
session_register("ACCOUNT"); 
session_register("WACHTWOORD");


Zoals ik al zei lokaal gaat alles goed, dus eigenlijk kan het niet aan de code liggen, maar op het moment dat ik het op de server zet gaat het fout

Na het inloggen ga ik in een andere file verder via een header. Lokaal kom ik dan keurig in de 2e file, maar op de server kom ik in de eerste file inloggen.php Dit lijkt mij te komen door het eerste stukje code van hierboven, oftewel de sessie lijkt niet te bestaan. Maar typ ik nu handmatig de 2e pagina in (ingelogd.php) dan gaat het ineens wel, dus de sessie is er wel :?

(zolang ik niet inlog kom ik ook niet in de ingelogd.php, dus hij maakt echt een sessie aan in inloggen.php)

Ik heb met PHPinfo onder sessions de waardes vergeleken, maar deze staan op de server en lokaal gelijk. Weet iemand waar dit fout gaat?

*edit
server versie php = 4.1.2
lokaal versie php = 4.1.1 (misschien dat dit nog belangrijk is)

[ Voor 6% gewijzigd door Sabi op 20-11-2003 11:22 ]


  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
1. lees over superglobals en register_globals (hier in de faq bijvoorbeeld
2. session_register() dien je niet meer te gebruiken (zie http://nl2.php.net/manual/nl/function.session-register.php)

[ Voor 16% gewijzigd door marty op 20-11-2003 11:24 ]


Verwijderd

PHP:
1
2
3
<? 
$_SESSION['SESSIE'] = $SESSIE;
?>

[ Voor 23% gewijzigd door Verwijderd op 20-11-2003 11:24 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Het 1001ste Globals topic :+. Lees even het onderdeel in de php manual die marty aanhaalt. De reden tot het verplicht stellen van de superglobals is heel leuk te demonstreren met je lokale applicatie. Ga maar eens naar een pagina zonder in te loggen en zet eens ?SESSIE=1 achter de URL ;).

Volgende keer eerst even in de manual kijken en/of wat op internet zoeken voor je een topic start.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Dit topic is gesloten.