login  Naam:   Wachtwoord: 
Registreer je!
 Forum

session en ob_start probleem

Offline BigBug - 17/08/2005 18:57 (laatste wijziging 17/08/2005 19:00)
Avatar van BigBugPHP expert Hey, ik heb een nieuwssysteem gemaakt die toppie werkt, maar nu de beveiliging,.. ik kan nergens een ob_start(); + een session_start(); neerzetten zonder een error te krijgen.. dus ik kan ook niet gebruik maken van sessies, wat ik nu wel wil. Iedereen zegt dat het iets met html output voordat de header plaatsvindt is.. Kan iemand mij dat uitleggen en zeggen wat je eraan kan doen? Mvg Jeroen

15 antwoorden

Gesponsorde links
Offline DaOxx - 17/08/2005 18:59
Avatar van DaOxx PHP beginner session_start() moet uitegevoerd worden voordat er ook maar iets van output is.

<html>
<head>
<title>Bla</title>
</head>
<body>
<?
session_start();
?>
<div id="bla">

etc...

Het bovenstaande is dus fout.

Zo is hij goed:

<?
session_start();
?>
<html>
<head>
<title>Bla</title>
</head>
<body>
<div id="bla">
Offline nemesiskoen - 17/08/2005 18:59 (laatste wijziging 17/08/2005 19:00)
Avatar van nemesiskoen Gouden medaille

PHP expert
http://sitemast...tmeldingen

daar staat iets klein over het al verzonden zijn van html (of gewone) output.
Zet ob_start is 'helemaal' bovenaan je bovenste pagina.
Dus als je ob_start() wilt toepassen op een pagina die wordt ingeladen in index genaamd test.php doe dan zo:
index.php (bovenste pagina)
-> test.php (tweede laag)
---> test2.php (derde laag, maar die doet er niet toe)

zet dan in index.php ob_start en niet in test.php of test2.php omdat er dan hoogstwss al output is verzonden.

En verzin aub een deftige titel (wat ik voor jou nu heb gedaan).
Offline DaOxx - 17/08/2005 19:01
Avatar van DaOxx PHP beginner ob_start() is niet echt een oplossing maar meer het omzeilen ervan.
Offline MFdriver - 17/08/2005 19:02 (laatste wijziging 17/08/2005 19:02)
Avatar van MFdriver PHP interesse zijn foutmelding: Cannot send session cache limiter - headers already sent

dit zegt php.net (of toch een gebruiker daar )
Citaat:
If You are not using cookies to store session_id's, that does not mean,
that session_start() will not send any headers at all. It still sends
cache controlling information to user. For example:
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0,
pre-check=0
Pragma: no-cache
Even, if You set cache_limiter to none (via
ini_set('session.use_cookies', 0) or ini_set('session.cache_limiter',
'none')), session_start() still tries to send empty headers and that
causes error message "Cannot send session cache limiter - headers
already sent". So, use output buffering, if You need to output something
before session_start().
Offline BigBug - 17/08/2005 19:03 (laatste wijziging 17/08/2005 19:04)
Avatar van BigBug PHP expert @ MFDriver idd

Citaat:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/big-bug.nl/www/defensie/nieuws/index.php:2) in /home/big-bug.nl/www/defensie/nieuws/config.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/big-bug.nl/www/defensie/nieuws/index.php:2) in /home/big-bug.nl/www/defensie/nieuws/config.php on line 3


Edit: Maar wat kan ik daar nu aan doen? 
Offline nemesiskoen - 17/08/2005 19:04
Avatar van nemesiskoen Gouden medaille

PHP expert
config.php
  1. <?php
  2. //rest van de config die je nu hebt
  3. ?>
Offline BigBug - 17/08/2005 19:07
Avatar van BigBug PHP expert @ nemesiskoen.. Als ik dat doe krijg ik juist die errors.. dat is het gekke 
Offline nemesiskoen - 17/08/2005 19:09
Avatar van nemesiskoen Gouden medaille

PHP expert
draai die 2 dan is om
  1. <?php
  2. //rest van de config die je nu hebt
  3. ?>
Offline BigBug - 17/08/2005 19:11
Avatar van BigBug PHP expert
  1. Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/big-bug.nl/www/defensie/nieuws/index.php:2) in /home/big-bug.nl/www/defensie/nieuws/config.php on line 2
  2.  
  3. Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/big-bug.nl/www/defensie/nieuws/index.php:2) in /home/big-bug.nl/www/defensie/nieuws/config.php on line 2


Hopakee Eveneens geen ander resultaat..
Offline MFdriver - 17/08/2005 19:17
Avatar van MFdriver PHP interesse ik den dat ik het weet..

je include je config.php toch op regel nr1 van index.php?
Offline Barato - 17/08/2005 19:18
Avatar van Barato Nieuw lid wees dan ook eens niet zo lui en LEES de foutmelding ipv te denken HELP EEN FOUTMELDING!!

er is output in index.php en je zet session_start() in config.php.
Offline nemesiskoen - 17/08/2005 19:24
Avatar van nemesiskoen Gouden medaille

PHP expert
Dat zij ik al in mijn eerste reply dat hij dat moest doen. Alleen heeft hij dat precies niet gedaan...
Offline BigBug - 17/08/2005 19:35
Avatar van BigBug PHP expert
Citaat:
wees dan ook eens niet zo lui en LEES de foutmelding ipv te denken HELP EEN FOUTMELDING!!

er is output in index.php en je zet session_start() in config.php.


Ja juist, dat was de oplossing dus niet dus wees niet zo lui en LEER php!.. slaat toch net zogoed nergens op.. Rensjuh heeft mij geholpen.. iedereen bedankt 
Offline Barato - 17/08/2005 20:44
Avatar van Barato Nieuw lid dat is wel de oplossing en volgens mij weet je nu nog niet waardoor het probleem veroorzaakt werd en dan heb je er de volgende keer weer last van....
Offline BigBug - 17/08/2005 21:05
Avatar van BigBug PHP expert
Citaat:
dat is wel de oplossing en volgens mij weet je nu nog niet waardoor het probleem veroorzaakt werd en dan heb je er de volgende keer weer last van....


Jawel, kijk ik opende steeds 2x ob_start(); en 2x session_start(); .. en vanuit alleen de config werkte het niet.. dus moest het gewoon in de pagina.. en idd.. nu werkt het 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.215s