Toon posts:

[PHP + MYSQL] Session problemen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een php site en op het moment dat leden inloggen wil ik dat er een sessie wordt gestart. Nou moet dit dus met session_start(); Alleen krijg ik dan altijd de volgende foutmeldingen:
code:
1
2
3
Warning: Cannot send session cookie - headers already sent by (output started at c:\phpdev\www\webmasteronline.nl\leden\controle.php:3) in c:\phpdev\www\webmasteronline.nl\leden\controle.php on line 4

Warning: Cannot send session cache limiter - headers already sent (output started at c:\phpdev\www\webmasteronline.nl\leden\controle.php:3) in c:\phpdev\www\webmasteronline.nl\leden\controle.php on line 4

Nou heeft dat geloof ik te maken met dat er iets naar de header is gestuurd, maar dat kan volgens mij niet omdat het helemaal bovenaan staat. Hieronder waar het staat:
code:
1
2
3
4
<html>
<link rel="stylesheet" type="text/css" href="../include/webmaster2.css">
<?
session_start();

Kan iemand mij helpen dit probleem op te lossen? Alvast bedankt

  • maartenba
  • Registratie: November 2001
  • Laatst online: 29-08 17:05
Je stuurt wel al iets naar de gebruiker, en dan pas de headers...

Probeer dit eens:
code:
1
2
3
4
5
6
<?
session_start();
?>

<html>
<link rel="stylesheet" type="text/css" href="../include/webmaster2.css">

Verwijderd

code:
1
2
3
4
5
6
7
<?
ob_start();
session_start();
?>
<html>
etc.
</html>

Verwijderd

Topicstarter
He harstikke bedankt want hij geeft nu iig geen error meer. Had ik trouwens zelf ook kunnen bedenken.. :) Maar wat ik me afvraag is wat die naar de header stuurt...

  • Neman
  • Registratie: September 2000
  • Laatst online: 30-08 12:47

Neman

Een uit de lucht gegrepen naam

Op zaterdag 20 april 2002 16:12 schreef Hakkert het volgende:
He harstikke bedankt want hij geeft nu iig geen error meer. Had ik trouwens zelf ook kunnen bedenken.. :) Maar wat ik me afvraag is wat die naar de header stuurt...
Zodra je output naar de browser stuurt, zal er een header aanwezig moeten zijn. Als die header er dan nog niet is, zal die eerst worden gestuurd. Je HTML spul zorgde er hier voor dat die header dus al werd gestuurd...

Verwijderd

Topicstarter
Dan maar meteen nog een vraagje erachter aan. Ik heb nu dus een sessie aangemaakt en ik registreer een variabele
code:
1
2
session_register("ingelogd");
$ingelogd = true;

Alleen als ik dan in een andere pagina het volgende doe.
code:
1
2
3
4
if($ingelogd == true)
{
    echo"testje";
}

Komt hij niet in de if terwijl dat volgens mij wel moet. Moet ik nog aangeven dat het om een sessievariabel gaat ofzo? Of moet ik bovenin het php script ook nog wat zetten?

Verwijderd

Op zaterdag 20 april 2002 16:44 schreef Hakkert het volgende:
Dan maar meteen nog een vraagje erachter aan. Ik heb nu dus een sessie aangemaakt en ik registreer een variabele
code:
1
2
session_register("ingelogd");
$ingelogd = true;

Alleen als ik dan in een andere pagina het volgende doe.
code:
1
2
3
4
if($ingelogd == true)
{
    echo"testje";
}

Komt hij niet in de if terwijl dat volgens mij wel moet. Moet ik nog aangeven dat het om een sessievariabel gaat ofzo? Of moet ik bovenin het php script ook nog wat zetten?
session_start() :P

Verwijderd

Op zaterdag 20 april 2002 16:44 schreef Hakkert het volgende:
code:
1
2
3
4
if($ingelogd == true)
{
    echo"testje";
}
code:
1
2
3
4
if($ingelogd)
{
    echo"testje";
}

  • Neman
  • Registratie: September 2000
  • Laatst online: 30-08 12:47

Neman

Een uit de lucht gegrepen naam

Op zaterdag 20 april 2002 16:59 schreef Tizzwat het volgende:

[..]
code:
1
2
3
4
if($ingelogd)
{
    echo"testje";
}
Daar ging het dus niet om... Zoals DarthRaider al aangaf moet er nog een session_start(); voor, zodat je dit krijgt:
code:
1
2
3
4
5
session_start();
if($ingelogd) // of if($ingelogd == true), is hetzelfde
{
    echo"testje";
}

Verwijderd

Topicstarter
Ahh super bedankt. Ik dacht dat hij automatisch de sessie zou laten doorlopen.. Niet dus :)
Pagina: 1