Just nu i M3-nätverket
Jump to content

Skumt problem med session_start()


erikdal
 Share

Recommended Posts

erikdal

Hej

Jag har bl.a. en liten webbplats där jag kört i åratal utan problem, egenutvecklat med PHP.

Nu behöver jag en till för nya behov på samma webbhotell och har plankat delar av koden från den första.

 

MEN - när jag startar huvudskripet får jag direkt ett felmeddelande:

Citat

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/spf-vaxholm.se/public_html/pub/pubanm.php:1) in /var/www/spf-vaxholm.se/public_html/pub/pubanm.php on line 2

Det är identiskt samma kod i början av skriptet;

Citat

<?php    // 2021-08-03 - copyright Erik Dalhammar - ED DataKonsult
    session_start();

    require_once("incl/functions.php");

 

Jag har använt denna kod på många andra ställen utan problem, men här fungerar det inte.

Någon som har en lösning? Jag sliter mitt något tunna hår ...

Erik

 

Link to comment
Share on other sites

Har du gjort en print eller någon annan slags output innan du anropar session start? Är php taggen det första på sidan? Du har ingen annan html tagg innan?

 

Session start måste nämligen köras innan någon output görs, det är viktigt. 

Edited by .M
Stavning
Link to comment
Share on other sites

erikdal

Nix, som framgår av citaten är anropet till session_start() första händelse, sker på rad 2.
PHP-taggen är rad 1.

 

Link to comment
Share on other sites

Men om man tolkar felmeddelandet så verkar det som att något hänt på rad 1 och session_start körs på rad 2. Finns det något mellanslag eller radbrytning före din php-tagg?

Link to comment
Share on other sites

Mr Andersson
16 timmar sedan, skrev erikdal:

Hej

Jag har bl.a. en liten webbplats där jag kört i åratal utan problem, egenutvecklat med PHP.

Nu behöver jag en till för nya behov på samma webbhotell och har plankat delar av koden från den första.

 

MEN - när jag startar huvudskripet får jag direkt ett felmeddelande:

Det är identiskt samma kod i början av skriptet;

Jag har använt denna kod på många andra ställen utan problem, men här fungerar det inte.

Någon som har en lösning? Jag sliter mitt något tunna hår ...

Erik

 

Testa att lägg till detta före session_start()

 

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
session_cache_limiter('nocache')

 

Link to comment
Share on other sites

erikdal

.M
Det enda som ligger för PHP-taggen är UTF-8 BOM, inga mellanslag eller radbrytningar.
Det är lika för alla skript, både de som fungerar och de som inte fungerar.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...