Archief - PHP: cookie error

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

NaaiT

Legacy Member
Hi, soms als je op mn site surft dan krijg je een warning bovenaan:

Code:
Warning: Cannot add header information - headers already sent by (output started at /home/sites/site147/web/_header.php:2) in /home/sites/site147/web/forum/includes/sessions.php on line 293

Warning: Cannot add header information - headers already sent by (output started at /home/sites/site147/web/_header.php:2) in /home/sites/site147/web/forum/includes/sessions.php on line 294
soms is dit ook on line 182-183

op deze regels staat het volgende:
Code:
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
					setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
(idem voor 182-183)

weet iemand wat hiervan de oorzaak kan zijn?

homepage: www.klep2mania.be/news.php

thx

maT'

Legacy Member
Je cookies moeten geplaatst worden voor enige andere output.
Die errors tonen aan dat er voor het plaatsen van de cookies al een output wordt gegenereerd.

Kan zo opgelost worden:
in het begin van uw pagina, zet je ob_start() (als eerste lijn), en de pagina sluit je af met ob_end_flush().
Elke vorm van output zal worden tegengehouden (door ob_start()) en in een buffer worden gestoken. Die buffer wordt vrijgegeven door ob_end_flush(), waardoor je pagina wordt weergegeven en je gemakkelijk cookies, session etc kan plaatsen in't midden van je pagina.

NaaiT

Legacy Member
hm thx :)

maar kan je mij zeggen hoe ik die moet gebruiken? Ken nl ni echt iets van php :)

mijn code die ik atm heb:
Code:
<?php if($specialvar){
ob_start();
//
// include the code
//
include ('./phpbb_fetch_posts.php');
//
// fetch postings out of the forum with ID 1
// note: be SURE that THIS FORUM EXISTS
//
$posts = phpbb_fetch_posts(1);
} ?>
(in header dus)
Code:
<?php if($specialvar){
ob_end_flush();
} ?>
(in footer)

maT'

Legacy Member
Header
PHP:
<?php 
ob_start();
if($specialvar){
//
// include the code
//
include ('./phpbb_fetch_posts.php');
//
// fetch postings out of the forum with ID 1
// note: be SURE that THIS FORUM EXISTS
//
$posts = phpbb_fetch_posts(1);
} ?>
PHP:
<?php if($specialvar){
  // wat is hier het nut van ?
} 
ob_end_flush(); 
?>
enkel zien dat ob_start() op de eerste regel voorkomt, en ob_end_flush() op de laatste (dan zal je output getoont worden).
www.php.net kon je anders ook gebruiken :niceone:

NaaiT

Legacy Member
k het werkt nu normaal :)

thx! :bow:



btw nog een vraagje ivm php/mysql:
http://www.klep2mania.be/telenet/serverstats/CoD/index.php
Dees wil ik dus sorteren op servernaam. Maar mijn probleem is dat ik niet weet hoe ik dit moet doen (als dit kan natuurlijk :/), aangezien 'servernaam' een variabele is die op het moment zelf wordt opgevraagd (en waar dus geen tabel voor is in mn db)

DarkBone

Legacy Member
.Nighthawk. zei:
k het werkt nu normaal :)

thx! :bow:



btw nog een vraagje ivm php/mysql:
http://www.klep2mania.be/telenet/serverstats/CoD/index.php
Dees wil ik dus sorteren op servernaam. Maar mijn probleem is dat ik niet weet hoe ik dit moet doen (als dit kan natuurlijk :/), aangezien 'servernaam' een variabele is die op het moment zelf wordt opgevraagd (en waar dus geen tabel voor is in mn db)

Eerst al uw resultaten ineen array steken, daarna die array sorteren en vervolgens pas afbeelden.

NaaiT

Legacy Member
hm kzou totaal ni wete oe ik eraan moe beginne, ask mn code ier es zie.. :eek:
Code:
<?php
        $GameTypesArray = Array ("dm" => "Deathmatch", "tdm" => "Team Deathmatch", "sd" => "Search and Destroy", "bel" => "Behind Enemy Lines", "wqctf" => "Capture the Flag", "re" => "Retrieval", "c_re" => "Retrieval", "c_sd" => "Search and Destroy", "hq" => "Headquarters");
        $PunkbusterArray = Array("0" => "Uitgeschakeld", "" => "Uitgeschakeld", "1" => "Ingeschakeld");
        $Query = "SELECT * FROM ips WHERE `id` > '3' ORDER BY ip ASC";
        $ResultaatQuery = mysql_query($Query) Or Die (mysql_error());
        While ($server = mysql_fetch_object($ResultaatQuery))
        {
                $RTCW = New Quake3;
                $IP = $server->ip;
                $Poort = $server->poort;
                $Status = $RTCW->GetServerStatus($IP, $Poort, 1500);
                If ($Status)
                {
                        $ServerNaam = $RTCW->m_servervars["sv_hostname"];
                        $ServerNaam = StripColors ($ServerNaam);
                        $Aantal = $RTCW->m_servervars["sv_currentclients"] ."/". $RTCW->m_servervars["sv_maxclients"];
                        
                        If ($RTCW->m_servervars["sv_currentclients"] == 0)
                        {
                                $ServerNaam = "<font color=\"#A4A4A4\">". $ServerNaam ."</font>";
                        } ElseIf ($RTCW->m_servervars["sv_currentclients"] == (($RTCW->m_servervars["sv_maxclients"]) - ($RTCW->m_servervars["sv_privateClients"])))
                        {
                                $ServerNaam = "<font color=\"#FF0000\">". $ServerNaam ." </font><i> (full)</i>";
						} ElseIf ($RTCW->m_servervars["sv_currentclients"] == (($RTCW->m_servervars["sv_maxclients"])))
                        {
                                $ServerNaam = "<font color=\"#FF0000\">". $ServerNaam ." </font><i> (full)</i>";
                        } Else {
                                $ServerNaam = "<font color=\"#CAD7E2\">". $ServerNaam ."</font>";
                        }
                        $Spelers = "";
                        $AantalClanSpelers = 0;
                        $NamenClanSpelers = "";
                        $ClanSpelers = "";
                        $HoogtePopup = "";
                        While (list(,$player) = @each ($RTCW->m_playerinfo)) {
                                $Speler = " ". addslashes(htmlspecialchars(($player["name"])));         // spatie toevoegen aan begin, als clantag eerste letter van het woord is werkt dit anders NIET
								$PositieClanSpeler = strpos($Speler, $ClanTag);
                                If ($PositieClanSpeler == false) {
                                        If ($player["ping"] == 999) {
                                                $Spelers .= "- " .$Speler ." <i>(lagged out)</i><br>";
                                        } Else {
                                                $Spelers .= "- " .$Speler ."<br>";
                                        }
                                        
                                } Else {
                                        $Spelers .= "- <b>" .$Speler ."</b><br>";
                                        $AantalClanSpelers++;
                                        $NamenClanSpelers[] = $Speler;
                                }

                        }
                        $PositieClanSpeler = "";
                        If ($AantalClanSpelers > 0) {
                                $ClanSpelers = $AantalClanSpelers .": ";
                                For ($i=0; $i<Count($NamenClanSpelers); $i++) {
                                        $ClanSpelers .= "<b>". substr($NamenClanSpelers[$i], (strlen($ClanTag) + 1), strlen($NamenClanSpelers[$i])) ."</b>, ";
                                        
                                }
                        }
                        $Map = $RTCW->m_servervars["mapname"];
                        /* $AantalAllies = $RTCW->m_servervars["Players_Allies"];
                        $AantalAxis = $RTCW->m_servervars["Players_Axis"]; */
                        $ModName = $RTCW->m_servervars["gamename"];
                        $GameType = $GameTypesArray[$RTCW->m_servervars["g_gametype"]];
						$GameType2 = $RTCW->m_servervars["g_gametype"];
                        $Punkbuster = $PunkbusterArray[$RTCW->m_servervars["sv_punkbuster"]];    /* ==> <b>Tijdslimiet:</b> ". $Timelimit ." minuten <br>*/
                        $Timelimit = $RTCW->m_servervars["timelimit"];
                        $Version = $RTCW->m_servervars["shortversion"];
                        
                        $Text = "<b>Map:</b> ". stripslashes($Map) ."<br> <b>Mod:</b> ". stripslashes($ModName) ." <br> <b>Punkbuster:</b> ". $Punkbuster ." <br> <b>Gametype:</b> ". stripslashes($GameType) ." <br> <b>Versie:</b> ". $Version;
                } Else {
                        $ServerNaam = "<font color=\"666666\">Server timed out</font>";
						$Aantal = "/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                }
                
                @$HoogtePopup = 450 + ($RTCW->m_servervars["sv_currentclients"] * 14);
                
?>
  <tr> 
    <td width="20%"><b><?=$IP?>:<?=$Poort?></b></td>
    <td width="70%" onmouseover="return overlib('<?=$Text?>');" onmouseout="return nd();"><a href="#" OnClick="javascript:popup('quake3status.php?IP=<?=$IP?>&Poort=<?=$Poort?>','<?=$HoogtePopup?>');" onMouseOver="window.status='Server info'; return true;" onMouseOut="window.status=' ';return true;"><?=$ServerNaam?></a></td>
    <td align="left" width="5%"><font color="CAD7E2"><?=$GameType2?></font></td>
	<td align="right" width="5%" onmouseover="return overlib('<b>Spelers:</b><br> <?=$Spelers?>');" onmouseout="return nd();"><b><?=$Aantal?></b></td>
	</tr>
<?php
                $Spelers = "";
                $AantalAllies = "";
                $AantalAxis = "";
                $AantalClanSpelers = 0;
                $ClanSpelers = "";
        }
?>
das het stukje waarover het gaat :/

iemand voorstellen fzo?

thx
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan