Warning: session_start проблем!

SuCcEsS

Registered
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\xampp\htdocs\heroewars\play\index.php:1) in C:\Program Files\xampp\htdocs\heroewars\includes\inc-header.php on line 11

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\xampp\htdocs\heroewars\play\index.php:1) in C:\Program Files\xampp\htdocs\heroewars\includes\inc-header.php on line 11

ето inc-header.php

1-20 ред
Код:
<?php
if ( $isadmin ) {
    $incloc = "../";
}
if ( !$incsetup ) {
    require( $incloc . "includes/inc-setup.php" );
}

$img_prefix = $SETTINGS['game_url'] . "images/";

session_start();
if ( !$_SESSION['refid'] ) {
    $_SESSION['refid'] = floor( $_GET['u'] );
    $news = 1;
}
$thecode = $_SESSION['ht_mem'];
$result = $db->query( "SELECT uID FROM users_online WHERE uCode=\"$thecode\"" );
$elcode = $db->fetch( $result );

$ht_mem = $thecode;

и index.php
1-20 ред
Код:
<?php
$isadmin = "*";

include( "../includes/inc-header.php" );
$weaponz1 = explode( ";", $user['uWeapon1'] . ";" . $user['uWeapon2'] . ";" . $user['uWeapon3'] . ";" . $user['uWeapon4'] . ";" . $user['uWeapon5'] );
$weaponz2 = explode( ";", $SETTINGS['wp_1_dmg'] . ";" . $SETTINGS['wp_2_dmg'] . ";" . $SETTINGS['wp_3_dmg'] . ";" . $SETTINGS['wp_4_dmg'] . ";" . $SETTINGS['wp_5_dmg'] );
$menleft = $user['uOffensiveMen'];
$offense = $user['uOffense'] + ( $menleft * 250 );
$x = 0;
while ( $x < 5 && $menleft != 0 ) {
    if ( $weaponz1[$x] >= $menleft ) {
        $offense = $offense + ( $menleft * $weaponz2[$x] );
        $menleft = 0;
    } else {
        $offense = $offense + ( $weaponz1[$x] * $weaponz2[$x] );
        $menleft = $menleft - $weaponz1[$x];
    } 
    $x++;
} 
$armourz1 = explode( ";", $user['uArmour1'] . ";" . $user['uArmour2'] . ";" . $user['uArmour3'] . ";" . $user['uArmour4'] . ";" . $user['uArmour5'] );
 
session_start() се слага винаги в началото на кода!


Код:
<?php
session_start();

........... ?>

Код:
<?php
session_start();
if ( $isadmin ) {
    $incloc = "../";
}
if ( !$incsetup ) {
    require( $incloc . "includes/inc-setup.php" );
}

$img_prefix = $SETTINGS['game_url'] . "images/";

if ( !$_SESSION['refid'] ) {
    $_SESSION['refid'] = floor( $_GET['u'] );
    $news = 1;
}
$thecode = $_SESSION['ht_mem'];
$result = $db->query( "SELECT uID FROM users_online WHERE uCode=\"$thecode\"" );
$elcode = $db->fetch( $result );

$ht_mem = $thecode;
 
И пак ми излиза!
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\xampp\htdocs\heroewars\play\index.php:1) in C:\Program Files\xampp\htdocs\heroewars\includes\inc-header.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\xampp\htdocs\heroewars\play\index.php:1) in C:\Program Files\xampp\htdocs\heroewars\includes\inc-header.php on line 2
 
Преди session_start(); сложи ob_start();. Направи го така:
Код:
<?php
ob_start();
session_start();
?>
 
1-20 ред
Код:
<?php
session_start();
if ( $isadmin ) {
    $incloc = "../";
}
if ( !$incsetup ) {
    require( $incloc . "includes/inc-setup.php" );
}

$img_prefix = $SETTINGS['game_url'] . "images/";

if ( !$_SESSION['refid'] ) {
    $_SESSION['refid'] = floor( $_GET['u'] );
    $news = 1;
}
$thecode = $_SESSION['ht_mem'];
$result = $db->query( "SELECT uID FROM users_online WHERE uCode=\"$thecode\"" );
$elcode = $db->fetch( $result );

$ht_mem = $thecode;

и index.php
1-20 ред
Код:
<?php
session_start();
$isadmin = "*";

include( "../includes/inc-header.php" );
$weaponz1 = explode( ";", $user['uWeapon1'] . ";" . $user['uWeapon2'] . ";" . $user['uWeapon3'] . ";" . $user['uWeapon4'] . ";" . $user['uWeapon5'] );
$weaponz2 = explode( ";", $SETTINGS['wp_1_dmg'] . ";" . $SETTINGS['wp_2_dmg'] . ";" . $SETTINGS['wp_3_dmg'] . ";" . $SETTINGS['wp_4_dmg'] . ";" . $SETTINGS['wp_5_dmg'] );
$menleft = $user['uOffensiveMen'];
$offense = $user['uOffense'] + ( $menleft * 250 );
$x = 0;
while ( $x < 5 && $menleft != 0 ) {
    if ( $weaponz1[$x] >= $menleft ) {
        $offense = $offense + ( $menleft * $weaponz2[$x] );
        $menleft = 0;
    } else {
        $offense = $offense + ( $weaponz1[$x] * $weaponz2[$x] );
        $menleft = $menleft - $weaponz1[$x];
    } 
    $x++;
} 
$armourz1 = explode( ";", $user['uArmour1'] . ";" . $user['uArmour2'] . ";" . $user['uArmour3'] . ";" . $user['uArmour4'] . ";" . $user['uArmour5'] );
 
Код:
<?php
ob_start(); 
session_start();
if ( $isadmin ) {
    $incloc = "../";
}
if ( !$incsetup ) {
    require( $incloc . "includes/inc-setup.php" );
}

$img_prefix = $SETTINGS['game_url'] . "images/";

if ( !$_SESSION['refid'] ) {
    $_SESSION['refid'] = floor( $_GET['u'] );
    $news = 1;
}
$thecode = $_SESSION['ht_mem'];
$result = $db->query( "SELECT uID FROM users_online WHERE uCode=\"$thecode\"" );
$elcode = $db->fetch( $result );

$ht_mem = $thecode;


Код:
<?php
ob_start(); 
session_start();
$isadmin = "*";

include( "../includes/inc-header.php" );
$weaponz1 = explode( ";", $user['uWeapon1'] . ";" . $user['uWeapon2'] . ";" . $user['uWeapon3'] . ";" . $user['uWeapon4'] . ";" . $user['uWeapon5'] );
$weaponz2 = explode( ";", $SETTINGS['wp_1_dmg'] . ";" . $SETTINGS['wp_2_dmg'] . ";" . $SETTINGS['wp_3_dmg'] . ";" . $SETTINGS['wp_4_dmg'] . ";" . $SETTINGS['wp_5_dmg'] );
$menleft = $user['uOffensiveMen'];
$offense = $user['uOffense'] + ( $menleft * 250 );
$x = 0;
while ( $x < 5 && $menleft != 0 ) {
    if ( $weaponz1[$x] >= $menleft ) {
        $offense = $offense + ( $menleft * $weaponz2[$x] );
        $menleft = 0;
    } else {
        $offense = $offense + ( $weaponz1[$x] * $weaponz2[$x] );
        $menleft = $menleft - $weaponz1[$x];
    } 
    $x++;
} 
$armourz1 = explode( ";", $user['uArmour1'] . ";" . $user['uArmour2'] . ";" . $user['uArmour3'] . ";" . $user['uArmour4'] . ";" . $user['uArmour5'] );
 
0u7 каза:
Код:
<?php
ob_start(); 
session_start();
if ( $isadmin ) {
    $incloc = "../";
}
if ( !$incsetup ) {
    require( $incloc . "includes/inc-setup.php" );
}

$img_prefix = $SETTINGS['game_url'] . "images/";

if ( !$_SESSION['refid'] ) {
    $_SESSION['refid'] = floor( $_GET['u'] );
    $news = 1;
}
$thecode = $_SESSION['ht_mem'];
$result = $db->query( "SELECT uID FROM users_online WHERE uCode="$thecode"" );
$elcode = $db->fetch( $result );

$ht_mem = $thecode;


Код:
<?php
ob_start(); 
session_start();
$isadmin = "*";

include( "../includes/inc-header.php" );
$weaponz1 = explode( ";", $user['uWeapon1'] . ";" . $user['uWeapon2'] . ";" . $user['uWeapon3'] . ";" . $user['uWeapon4'] . ";" . $user['uWeapon5'] );
$weaponz2 = explode( ";", $SETTINGS['wp_1_dmg'] . ";" . $SETTINGS['wp_2_dmg'] . ";" . $SETTINGS['wp_3_dmg'] . ";" . $SETTINGS['wp_4_dmg'] . ";" . $SETTINGS['wp_5_dmg'] );
$menleft = $user['uOffensiveMen'];
$offense = $user['uOffense'] + ( $menleft * 250 );
$x = 0;
while ( $x < 5 && $menleft != 0 ) {
    if ( $weaponz1[$x] >= $menleft ) {
        $offense = $offense + ( $menleft * $weaponz2[$x] );
        $menleft = 0;
    } else {
        $offense = $offense + ( $weaponz1[$x] * $weaponz2[$x] );
        $menleft = $menleft - $weaponz1[$x];
    } 
    $x++;
} 
$armourz1 = explode( ";", $user['uArmour1'] . ";" . $user['uArmour2'] . ";" . $user['uArmour3'] . ";" . $user['uArmour4'] . ";" . $user['uArmour5'] );
Получи ли се с ob_start(); ?
 
Не пак ми дава

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\xampp\htdocs\heroewars\play\index.php:1) in C:\Program Files\xampp\htdocs\heroewars\play\index.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\xampp\htdocs\heroewars\play\index.php:1) in C:\Program Files\xampp\htdocs\heroewars\play\index.php on line 3
 
Я провери хубаво дали не си оставил празен ред в кода


Примерно да не си го направил:

Код:
- > празен ред
<?php
ob_start();
session_start();

Кода ти..

?>
 
<?php
@session_start();
if ( $isadmin ) {
$incloc = "../";
}
if ( !$incsetup ) {
require( $incloc . "includes/inc-setup.php" );
}

$img_prefix = $SETTINGS['game_url'] . "images/";

if ( !$_SESSION['refid'] ) {
$_SESSION['refid'] = floor( $_GET['u'] );
$news = 1;
}
$thecode = $_SESSION['ht_mem'];
$result = $db->query( "SELECT uID FROM users_online WHERE uCode=\"$thecode\"" );
$elcode = $db->fetch( $result );

$ht_mem = $thecode;
?>

<?php
@session_start();
$isadmin = "*";

include( "../includes/inc-header.php" );
$weaponz1 = explode( ";", $user['uWeapon1'] . ";" . $user['uWeapon2'] . ";" . $user['uWeapon3'] . ";" . $user['uWeapon4'] . ";" . $user['uWeapon5'] );
$weaponz2 = explode( ";", $SETTINGS['wp_1_dmg'] . ";" . $SETTINGS['wp_2_dmg'] . ";" . $SETTINGS['wp_3_dmg'] . ";" . $SETTINGS['wp_4_dmg'] . ";" . $SETTINGS['wp_5_dmg'] );
$menleft = $user['uOffensiveMen'];
$offense = $user['uOffense'] + ( $menleft * 250 );
$x = 0;
while ( $x < 5 && $menleft != 0 ) {
if ( $weaponz1[$x] >= $menleft ) {
$offense = $offense + ( $menleft * $weaponz2[$x] );
$menleft = 0;
} else {
$offense = $offense + ( $weaponz1[$x] * $weaponz2[$x] );
$menleft = $menleft - $weaponz1[$x];
}
$x++;
}
$armourz1 = explode( ";", $user['uArmour1'] . ";" . $user['uArmour2'] . ";" . $user['uArmour3'] . ";" . $user['uArmour4'] . ";" . $user['uArmour5'] );
?>
 
Това горе не става.


@ само ще заглуши грешката. Няма да реши проблема. Просто няма да изкарва грешката.
 
PHPclown каза:
Я провери хубаво дали не си оставил празен ред в кода


Примерно да не си го направил:

Код:
- > празен ред
<?php
ob_start();
session_start();

Кода ти..

?>

Проверих няма празен ред!
 
Аааа, знаеш ли какво. Я пробвай да запишеш документа като ANSI.

Това би трябвало да оправи проблема.
 
PHPclown каза:
Аааа, знаеш ли какво. Я пробвай да запишеш документа като ANSI.

Това би трябвало да оправи проблема.

И така не стана!
 
Ти да не би да слагаш session_start в файл, който инклудваш в index.php, където също има session_start ?
 
Начи като променя енкодинга на файловете да е на Windows-1251 грешката изчезва!
 
Session_start седи винаги в началото на файла... провери във файла, който си инклуднал дали имаш session_start ако имаш значи там ти е грешката.

Пример:

file1.php
Код:
<?php
session_start();
//kod
//kod
//kod
include('file2.php');
?>

File2.php

Код:
<?php
session_start();
//kod
//kod
//kod
?>

Когато отвориш файл1 ще ти върне warning ,защото стартираш сесията 2 пъти ... PHP започва да чете кода вижда че си стартирал сесията най-правилно ,след което продължава надолу със кода ... стига до include('file2.php') чете файла вижда ,че и там има стартирана сесия, вкарва я в file1 където инклууда не е на 1 ред и от правилото за стартиране на сесии излиза warning.Прави си изводите...

Дано си ме разбрал.
 
това става от фукнцията header(); !!! провери си кода и е смени с meta на html-то и няма да имаш проблем :)
 

Back
Горе