hallo, ik krijg deze error als ik inlog:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/gamereac/public_html/main.php:9) in /home/gamereac/public_html/checklogin.php on line 2


Dit is mijn checklogin:


<?php
session_start ();    

    require 'config/config.php';
    
    function to_login () {
        header ('Location: http://www.gamereactor.biz');  
    }
    
    function check_login ($username, $password) {
        $sql = "
            SELECT id
            FROM zap_members
            WHERE username = '" . mysql_real_escape_string ($username) . "'
            AND password = SHA1('" . mysql_real_escape_string ($password) . "')
            ";
			
        if ($res = mysql_query ($sql)) {
            if (mysql_num_rows ($res) == 1) {
                $row = mysql_fetch_assoc ($res);
                $_SESSION['id'] = $row['id'];
				$_SESSION['level'] = $row['level'];
                $_SESSION['logged_in'] = true;
				$id = $_SESSION['id'];
				$logins = $row['logins'] + 1;

$query = "UPDATE zap_members SET logins='".$logins."' WHERE id='$id'";


	$blaat = mysql_query($query) or
				die ("<br>Er is iets fout gegaan bij het invoeren van de uitslag.<br>" . mysql_last_error());
            }
            else {
                to_login ();
            }
        }
        else {
            to_login ();
        }
    }
	
    
    if (!isset ($_SESSION['logged_in'])) {
        if (isset ($_POST['username'], $_POST['password'])) {
            check_login ($_POST['username'], $_POST['password']);
        }
        else {
            to_login ();
        }
    }
?>


en dit is een deel van mijn main.php:


<HTML>
<HEAD>

<TITLE> Gamereactor for nuclear gaming! </TITLE>
	
	<meta name="description" content="Welkom op gamereactor, hier kun je alles over games, consoles en gadgets vinden!">
	<meta name="keywords" content="Gamereactor, game, games, gaming, gamer, console, nintendo, playstation, xbox, sony, microsoft, nieuws, wii, gaming">
	
				<META http-equiv=Content-Type content="text/html; charset=windows-1252">
			<META content="MSHTML 6.00.2800.1400" name=GENERATOR>
			
<link REL='stylesheet' TYPE='text/css' href='style/mainstyle.css'>
</HEAD>

<BODY>
<p align="center">

<table class="big">
			 <tr height="152">
			 <td valign="top" bgcolor="#ffffd0">
			 <div style="position: absolute; z-index:0"><img src="images/header.png" alt="" border="1" bgcolor="#ffffd0"></div>

			 		 <div style="position: absolute; top: 168px; z-index:0">
			 		 <table class="noborder">
					 <tr>
					 <td width="99"></td>
<a href='main.php'>Home</a>
					 </tr>
					 </table>
					 </div>
			 </td>
			 </tr>

<br>
	<table class="big">	
	
	<!--
		<tr><th colspan="3">
			

		<h3>::
	
	::</h3></th></tr>		
	-->
	<!-- Kolom links -->
				<tr>
			<td valign="top" width="22%">
<?php
if ($_SESSION['username'] != '' && $page != 'uitloggen') { 


Het zijn geen whitespaces.
Kan iemand mij helpen? alvast bedankt
m.v.g. zap
Zet bovenaan je main.php dit:

<?php
session_start();
?>

dat was je namelijk nog vergeten, je gaat daar namelijk ,op die pagina, een session opvragen.

Verder kan die error ook liggen aan de functie to_login. Een header mag je nl. ook niet verzenden nadat er output is geweest.

Zie ook http://nl3.php.net/header

Edit:
@Kalle: wellicht heeft hij dat al staan, het is maar een deel van main.php. Verder meen ik dat de sessie automatisch wordt gestart als er $_SESSION in voorkomt en dat session_start() dus niet noodzakelijk meer is, maar ik kan me vergissen. Even opzoeken :)
Zie ook de FAQ en zoek eens op het forum. Deze vraag is al heel vaak voorbij gekomen...
@kasper
Opmerking: As of PHP 4.3.3, calling session_start() while the session has already been started will result in an error of level E_NOTICE. Also, the second session start will simply be ignored.
bedankt, het is nu gefixd :)
@Kalle: Was er ook al achter gekomen. Excuses voor de valse aantijgingen :)

@zap: en de oplossing was...?
Wat gerommeld met die sessions_start, staat nu bovenaan mijn main.php :)
Excuses aanvaard

Vergeet niet: ik == gelijk
haha :P

Reageren