Autor Zpráva
Vastik
Profil *
Ahoj,
mám takový menší skript na reklamní systém, ale mám problém protože semi místo banneru zobrazuje varování o nějaké odeslané cookie ... banner je v iframu...
jak se zbavit toho varování?
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/web5/earncurve.info

Díky
Vastik
Profil *
Konec konců se na to varování můžete podívat sami.... na adrese http://earncurve.info/index.htm tam kde je to varování má být banner
Aesir
Profil
Vastik:

Vysvětleno v místním FAQ.
Chamurappi
Profil
Reaguji na Vastika:
Hledat jsi samozřejmě nezkoušel, že ne?
session problemy
Problém se Sessions
Warning: session_start()
session nebo cookie: headers already sent
session
problem s kodovanim
Cannot modify header information - headers already
Vastik
Profil *
Začátek celého souboru vypadá takto:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>xCPM.info - Banner</title>
<META http-equiv="cache-control" content="no-cache" />
</head>
<body>

<?php
  session_start();
  //if($_SESSION['verify'] && $_GET['check'] && $_SESSION['verify'] == $_GET['check']) {
    if(ereg("earncurve.info/code.php",$_SERVER['HTTP_REFERER'])) {


Pokud správně vidím žádná z popsaných chyb tam není
Alphard
Profil
Vastik:
Pokud správně vidím, tak problém je na 1. až 9. řádku. :-)

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>xCPM.info - Banner</title>
<META http-equiv="cache-control" content="no-cache" />
</head>
<body>

<?php
  //if($_SESSION['verify'] && $_GET['check'] && $_SESSION['verify'] == $_GET['check']) {
    if(ereg("earncurve.info/code.php",$_SERVER['HTTP_REFERER'])) {
Vastik
Profil *
ten prázdný řádek tam není... špatně jsem to zkopíroval ale stejně to nejde
Smokie
Profil
[#5]Zkus dát session_start(); úplně na začátek toho souboru.
[EDIT]: Tak vidím že už jste byli rychlejší :)
Vastik
Profil *
a diky, myslel jsem že html se do tech výstupu nezapočítává, už tojde :)
keeehi
Profil
Vastik:
Je to skoro naopak. HTML se do toho započítává, ale v PHP je to jedno, kolik je před tím mezer, klidně tam může být třeba $a = true; jen to musí být před příkazy na vypsání (echo, print, ptint_r... ). Takže session_start(); nemusí být na prvním řádku. Pokud to umístíte na začátek, je pak ale menší pravděpodobnost, že tam někdy později při editaci chyba vyskytne.
Vastik
Profil *
Tak mi to zas píše Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www...
a to to je přitom na začátku...
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>EARNCURVE.info - Banner</title>
<META http-equiv="cache-control" content="no-cache" />
</head>
<body>
<?php
  //if($_SESSION['verify'] && $_GET['check'] && $_SESSION['verify'] == $_GET['check']) {
    if(ereg("earncurve.info/code.php",$_SERVER['HTTP_REFERER'])) {


nevite někdo co s tim teď?
Aesir
Profil
Vastik:

Opět vás odkážu na místní FAQ, hledejte klíčové slovo BOM.
Davca
Profil *
už to jde, každopádnědíky všem za rady alemám ještě jeden problém... Jak už jsem říkal je tokód reklamního systému platící za zobrazeni banneru, ale jaksi kod je vpořádku, bannery sezobrazují, ale nějak to ne a ne v databázi updatovat údaje (account balance a počet impresí), užjsem zkoušel snad všechno a stále to nejde. SQL je v pořádku, není problém se na něj přihlásit a údaje to normálně bere. Tak nevím coej za problém... možná máte lepší oči než já tak vám sem dám kod a kdyžtak prosím napište kde je tam chyba... díky
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>EARNCURVE.info - Banner</title>
<META http-equiv="cache-control" content="no-cache" />
</head>
<body>
<?php
  //if($_SESSION['verify'] && $_GET['check'] && $_SESSION['verify'] == $_GET['check']) {
    if(ereg("earncurve.info/code.php",$_SERVER['HTTP_REFERER'])) {

   if($_GET['dim'] == "120x120") {
?>

<!-- REKLAMA -->

<?php
   } elseif($_GET['dim'] == "120x240") {
?>

<!-- REKLAMA -->

<?php
   } elseif($_GET['dim'] == "120x600") {
?>

<!-- REKLAMA -->

<?php
   } elseif($_GET['dim'] == "160x600") {
?>

<!-- REKLAMA -->

<?php
   } elseif($_GET['dim'] == "234x60") {
?>

<!-- REKLAMA -->

<?php
   } elseif($_GET['dim'] == "250x250") {
?>

<!-- REKLAMA -->
<?php
   } elseif($_GET['dim'] == "300x250") {
?>

<!-- REKLAMA -->

<?php
   } elseif($_GET['dim'] == "468x60") {
?>

<script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://adserver.blueadvertise.com/www/delivery/ajs.php':'http://adserver.blueadvertise.com/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=7");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://adserver.blueadvertise.com/www/delivery/ck.php?n=ab59d849&amp;cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://adserver.blueadvertise.com/www/delivery/avw.php?zoneid=7&amp;n=ab59d849' border='0' alt='' /></a></noscript>


<?php
   } elseif($_GET['dim'] == "728x90") {
?>

<script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://adserver.blueadvertise.com/www/delivery/ajs.php':'http://adserver.blueadvertise.com/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=8");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://adserver.blueadvertise.com/www/delivery/ck.php?n=aa8e8a7b&amp;cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://adserver.blueadvertise.com/www/delivery/avw.php?zoneid=8&amp;n=aa8e8a7b' border='0' alt='' /></a></noscript>


<?php
   }
  

    if(is_numeric($_GET['id'])) {

      // GeoIP Functions

	function getALLfromIP($ip) {
		$con = mysql_connect("host","user","pass");
		mysql_select_db("database",$con);

        	$ipnum = sprintf("%u", ip2long($ip));
        	$result = mysql_query("SELECT cc, cn FROM ip NATURAL JOIN cc WHERE $ipnum BETWEEN start AND end",$con);
		mysql_close($con);

        	if((!$result) or mysql_numrows($result) < 1)
          		return false;
          
        	return mysql_fetch_array($result);
	}

	function GetCountryCode($ip) {
       
        	$data = getALLfromIP($ip);
        	if($data) return $data['cc'];
        	return false;
	}
	
	function GetCountryName($ip) {
       
        	$data = getALLfromIP($ip);
        	if($data) return $data['cn'];
        	return false;
	}

	$cn = GetCountryName($_SERVER['REMOTE_ADDR']);

      // GeoIP Functions

      include("config.php");
      $id = $_GET['id'];
      $referer = addslashes(urldecode($_GET['referer']));


      
      // Detect correct country

      $a = explode(";",strtolower(file_get_contents("ecpm.txt")));

      if(in_array(strtolower($cn),$a)) {
	     $ak = array_search(strtolower($cn),$a);
	     $cpm = $a[$ak+2];
      }

      // Detect correct country

      
      mysql_query("UPDATE users SET imp=imp+1, balance=balance+($cpm/1000) WHERE id='$id'");

    }
    //unset($_SESSION['verify'],$_GET['check']);
    mysql_close();
  } else {
    echo "CREDITED";
  }
?>

</body>
</html>
fopen
Profil *
myslim ze staci pouzit ob_start() pred session_start() a je po problemoch

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: