Pagina 1 van 1

Warning headers alredy sent

Geplaatst: 01 jul 2004, 09:30
door Lucky Luke
kheb een bestandje head.php
dat wordt geïnclude door elke pagina van m'n nieuwssyteem.
Ik wil als je een reactie plaats dat je als je ingelogd bent dat je geen username en dat soort dingen hoeft in te vullen want die kan je dan gewoon uit de DB halen. maar als ik ben uitgelogd plaatst hij geen reactie en als ik ben ingelogd ben wel.
en vaak krijg ik ook deze error:
Warning: Cannot modify header information - headers already sent by (output started at /usr/local/psa/home/vhosts/rctlucky.nl/subdomains/zeldacastle/httpdocs/forum/nieuws/head.php:6) in /usr/local/psa/home/vhosts/rctlucky.nl/subdomains/zeldacastle/httpdocs/forum/includes/sessions.php on line 293

Warning: Cannot modify header information - headers already sent by (output started at /usr/local/psa/home/vhosts/rctlucky.nl/subdomains/zeldacastle/httpdocs/forum/nieuws/head.php:6) in /usr/local/psa/home/vhosts/rctlucky.nl/subdomains/zeldacastle/httpdocs/forum/includes/sessions.php on line 294
dit is plaatsreactie.php

Code: Selecteer alles

<?
include("head.php");
define('IN_PHPBB', true);
define('PHPBB_INSTALLED', true);
$phpbb_root_path = './../';
include($phpbb_root_path."extension.inc");
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, SITE_INDEX);
init_userprefs($userdata);
//
// End session management
//
$sql8 = mysql_query("SELECT ip FROM ipban WHERE ip='".$_SERVER['REMOTE_ADDR']."'");
$result = mysql_num_rows($sql8);
if($result >= 1)
{
        echo("<center class=\"16px\">Je bent gebanned van deze site. Je mag geen reacties meer plaatsen.</center>");
} else {
$pagina = "Plaats reactie";
$nid = $_GET['nid'];
if($_POST['plaats'])
{
        if($userdata['session_logged_in']) {
if(strlen($_POST['bericht']) < 1)
        {
                   echo("U heeft geen bericht ingevuld. Klik op de back button om terug te gaan.");
        }
        }
        if(!$userdata['session_logged_in'])
        {
        if(strlen($_POST['bericht']) < 1 || strlen($_POST['auteur']) < 1){
                echo "U heeft geen naam of bericht ingevuld. Klik op de back button om terug te gaan.";
        }
        }
        else
        {
    include("config.php");
    include("ubb.php");
    include("functions.php");
    $nid     = $_GET['nid'];
    if(!$userdata['session_logged_in']) {
    $sql34 = "SELECT * FROM ".USERS_TABLE." WHERE username='".$_POST['auteur']."'";
    $result = mysql_query($sql34);
    if($result > 0) {
            die("Username ".$_POST['auteur']." bestaat al. Als je ".$_POST['auteur']." bent log dan eerst in.");
    }
    }
    if($userdata['session_logged_in']) {
            $auteur = $userdata['username'];
    } else {
    $auteur  = htmlspecialchars(addslashes($_POST['auteur']));
    }
    if($userdata['session_logged_in']) {
            $email = $userdata['user_email'];
    } else {
    $email   = htmlspecialchars(addslashes($_POST['email']));
    }
    if($userdata['session_logged_in']) {
            $website = $userdata['user_website'];
    } else {
    $website = htmlspecialchars(addslashes($_POST['website']));
    }
    $bericht = htmlspecialchars($_POST['bericht']);
    $bericht = wordwrap($bericht, 30, "\n", 1);
    $bericht = filter($bericht);
    $bericht = nl2br($bericht);
    $ip = $_POST['ip'];
    $bericht = bbcode($bericht);
   $maanden = array(
   "januari", "februari", "maart", "april",
   "mei", "juni", "juli", "augustus", "september",
   "oktober", "november", "december");
   $datum        = date("j ") . $maanden[date("n") - 1] . date(" Y");
   $tijd        = date("H:i:s");
   $dagen = array(
   "zondag", "maandag", "dinsdag", "woensdag",
   "donderdag", "vrijdag", "zaterdag");
   $dag = $dagen[date("w")];


        $sql = "INSERT INTO nieuwsreacties
                       (nid, auteur, email, website, bericht, datum, ip)
              VALUES
                      ('{$nid}', '{$auteur}', '{$email}', '{$website}', '{$bericht}', '{$dag}, {$datum} om {$tijd}', '{$ip}')";
    mysql_query($sql) or die(mysql_error());
    echo "Uw reactie is geplaatst. klik <a href=\"http://zeldacastle.rctlucky.nl/forum/nieuws\">hier</a> om terug te gaan.";
}
}
if(!$_POST['plaats'])
{
?>
<htmL>
<head><title>Plaats reactie</title>
</head>
<body>
<? $nid = $_GET['nid']; ?>
<font size="4" face="verdana"><center>Plaats reactie:</center><br></font>
<font size="2" face="verdana">
<center><TABLE border="1" bordercolor="#000" cellpadding="0" cellspacing="0"></center><FORM ACTION="plaatsreactie.php?nid=<? echo $nid; ?>&&page=1" METHOD="POST"><br>
<? if(!$userdata['session_logged_in']) { ?>
<TR>
        <TD class="td">Naam:<br><font size="1">Vul je naam in</font></TD>
        <TD><INPUT TYPE="text" NAME="auteur" SIZE=30></TD>
</TR>
<TR>
        <TD class="td">Email:<br><font size="1">Vul een email in (niet verplicht)</font</TD>
        <TD><INPUT TYPE="text" NAME="email" SIZE=30><br></TD>
</TR>
<TR>
        <TD class="td">Website:<br><font size="1">Vul een website in (niet verplicht)</font</TD>
        <TD><INPUT TYPE="text" NAME="website" SIZE=30 VALUE="http://"></TD>
</TR><? } ?>
<TR>
        <TD class="td">Reactie:<br><font size="1">Vul een reactie in</font></TD>
        <TD><TEXTAREA name="bericht" COLS=40 ROWS=6></TEXTAREA></TD>
</TR>
<TR>
        <TD class="td"></td>
        <TD class="td"><center><INPUT TYPE="submit" VALUE="Toevoegen"><INPUT TYPE="hidden" NAME="plaats" Value="plaats"></center></TD>
<input type="hidden" name="ip" value="<? echo $_SERVER['REMOTE_ADDR']; ?>"></TR>
</TABLE>
</form>
</font>
</body>
</htmL>
<?
}
}?>
stukje van sessions.php:

Code: Selecteer alles

                                        //
                                        // Delete expired sessions
                                        //
                                        $expiry_time = $current_time - $board_config['session_length'];
                                        $sql = "DELETE FROM " . SESSIONS_TABLE . "
                                                WHERE session_time < $expiry_time
                                                        AND session_id <> '$session_id'";
                                        if ( !$db->sql_query($sql) )
                                        {
                                                message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);
                                        }

                                     lijn 293-->   setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
                                      lijn 294-->  setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
                                }

                                return $userdata;
                        }
                }
        }
weet iemand wat de fout is?

Geplaatst: 01 jul 2004, 10:15
door WebSiteNet
Als ik het zo zie wordt door head.php de header op de pagina gezet. Die include staat op de verkerde plaats. Hij moet hierna:

Code: Selecteer alles

// 
// End session management 
// 

Re: Warning headers alredy sent

Geplaatst: 01 jul 2004, 11:44
door mosymuis
Lucky Luke schreef:dit is plaatsreactie.php

Code: Selecteer alles

<?
include("head.php");
define('IN_PHPBB', true);
define('PHPBB_INSTALLED', true);
$phpbb_root_path = './../';
include($phpbb_root_path."extension.inc");
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, SITE_INDEX);
init_userprefs($userdata);
//
// End session management
//
En als die enter voor <? er echt staat, moet hij weg.

Geplaatst: 01 jul 2004, 11:48
door WebSiteNet
Volgens mij staat die er niet. Dat had de error ergens ander moeten staan.

Geplaatst: 01 jul 2004, 13:01
door Lucky Luke
ja hij werkt nu thnx :)