Hallo ik ben verplaats van host, maar nu doet mijn site het opeens niet meer...
Ik krijg opeens errors van:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/zim/public_html/meaw/Bank.php:2) in /home/zim/public_html/meaw/Bank.php on line 3
Terwijl ik deze errors normaal (bij de andere host) niet krijgt. Wat is de fout hiervan? Wat kan ik eraan doen?
En heb ik genoeg informatie gegeven zodat jullie mijn kunnen helpen?
De functie session_start() in regel 3 moet aangeroepen worden voordat er enige output naar de browser is.
Maar volgens de foutmelding is in regel 2 al iets naar de browser verstuurd.
Waar dat door komt weten we niet. En hoe het kan dat (precies?) hetzelfde script bij de ene dat wel doet en bij de andere niet kunnen we ook niet raden.
Misschien dat de functie die in bank.php op regel 2 staat een foutmelding geeft. Deze functie deed het misschien goed op de andere host. of error reporting staat hier hoger...
Zoals ik begrijp (je kan niks raden) dan moet ik meer informatie geven. Dit is het eerste deel van het script:
<?
//Bank.php
?>
<html>
<head>
<link href="Style1.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?
session_start();
if(!isset($_SESSION["user"])){
header("Location: Login.php");
}
..gaat verder...
?>
Maar waar kan het aan liggen? Ik heb ff op internet gekeken en sommige dat het iets was met php.ini en session.save_path.. maar ik snapte het niet dus misschien weet iemand hier meer over?
Dit komt omdat er al gegevens verstuurd zijn naar de browser, namelijk je HTML code, als dit gedaan is kun je geen header() of sessionstart() functie meer gebruiken. Dit is op te lossen door session_start() helemaal bovenaan de pagina te zetten, en bijvoorbeeld van output buffering gebruik te maken:
Helemaal bovenaan de pagina:
<?php
ob_start();
?>
en helemaal onderaan
<?php
ob_end()
?>
Edit: @Elwin -> header-functies zijn dan ook niet meer te gebruiken ;)
Ja het werkt nu wel.. (op elwins manier gedaan) maar waarom doet hij het op een server wel en andere niet?
Kan het aan de php versie liggen (ging van 4.40 naar 4.311)??