session_start

radoslav93

Registered
Значи използвам 1 урок обаче когато вкарам кода в дизайн излиза 1 грешка при
Код:
session_start ();
Всичко което се зададе го испълнява но просто излиза тази грешка и искам да я премахна.Някой да даде идея ?!
 
Щом всичко си е наред го направи така @session_start(); но това не е добър метод. Това замаскира грешката, не я премахва. Но ако си напълно сигурен, че всичко си работи, можеш да го ползваш.
п.с можеш да дадеш грешката тук и да намерим по-оптимален вариант ;)
 
Ето това е грешката:
Код:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/parkour/public_html/test/pro.php:13) in /home/parkour/public_html/test/pro.php on line 41
Не сте попълнили всички полета.

А това е файла:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
</head> 
<body> 
<body bgcolor=#3366ff> 
<div style="width: 100%"> 
<div style="width: 350px; float: left;"> 
<br> 
<br>  
<br> 
<br> 
<br> 
<br> 
<img src="HJC.png"><br> 
<br> 
<br>
<div id="index"><a href="index.php"></a></div><br>
<div id="login"><a href="login.php"></a></div><br>
<div id="reg"><a href="register.php"></a></div><br> 
<br> 
<img src="HJC.png"></div> 
<div style="width: 100%; float: top;"> 
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<?php
session_start();


$user=$HTTP_POST_VARS['user']; 

$pas=$HTTP_POST_VARS['pas']; 
$pas=md5($pas); 

function filled_out($form_vars) 
{ 

foreach ($form_vars as $key => $value) 
{ 
if (!isset($key) || ($value == '')) 
return false; 
} 
return true; 
} 


if(!filled_out($HTTP_POST_VARS)) 
{ 
echo ' 
<b>Не сте попълнили всички полета.</b> 

<META HTTP-EQUIV="Refresh" 
CONTENT="2; URL=login.php"> 

'; 
exit; 
} 


$file= file("db.inc"); 
$n=count($file); 

for ($i=0; $i<$n;$i++) 
{ 
$line = explode ("&",$file[$i] ); 
if (strtolower($line[0])==strtolower($user) && $line[1]==$pas) 

{$HTTP_SESSION_VARS['user'] = $user; 
echo'<META HTTP-EQUIV="Refresh" 
CONTENT="0; URL=index2.php">'; 
exit; 
} 

} 

echo '<b>Грешен "Потребител" или "Парола"</b>'; 

?>
</div> 
</div> 
</body> 
</html>
 
Код:
<?
ob_start();
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<body bgcolor=#3366ff>
<div style="width: 100%">
<div style="width: 350px; float: left;">
<br>
<br> 
<br>
<br>
<br>
<br>
<img src="HJC.png"><br>
<br>
<br>
<div id="index"><a href="index.php"></a></div><br>
<div id="login"><a href="login.php"></a></div><br>
<div id="reg"><a href="register.php"></a></div><br>
<br>
<img src="HJC.png"></div>
<div style="width: 100%; float: top;">
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<?php


$user=$HTTP_POST_VARS['user'];

$pas=$HTTP_POST_VARS['pas'];
$pas=md5($pas);

function filled_out($form_vars)
{

foreach ($form_vars as $key => $value)
{
if (!isset($key) || ($value == ''))
return false;
}
return true;
}


if(!filled_out($HTTP_POST_VARS))
{
echo '
<b>Не сте попълнили всички полета.</b>

<META HTTP-EQUIV="Refresh"
CONTENT="2; URL=login.php">

';
exit;
}


$file= file("db.inc");
$n=count($file);

for ($i=0; $i<$n;$i++)
{
$line = explode ("&",$file[$i] );
if (strtolower($line[0])==strtolower($user) && $line[1]==$pas)

{$HTTP_SESSION_VARS['user'] = $user;
echo'<META HTTP-EQUIV="Refresh"
CONTENT="0; URL=index2.php">';
exit;
}

}

echo '<b>Грешен "Потребител" или "Парола"</b>';

?>
</div>
</div>
</body>
</html>

Готов си :?:
 
Човече, не е нужно да ползваш толко <br />-та. Ето ти пример как да го свалиш надолу без <br />:
Код:
<div style="margin-top: 100px;">тук ти е кодът</div>
 
devent каза:
Код:
<?
ob_start();
session_start();
?>

Готов си :?:

Човек, не е нужно да стартираш куки, за да ползва сесии ;)
И той е използвал много <br> защото съдържанието му в момента и празно. Сайта не е довършен.
 
ob_start(); не стартира куки. Куки се стартира с setcookie. http://bg.php.net/manual/bg/function.ob-start.php
Сложил съм му го, защото най-вероятно скоро ще започне да си играе с куки, хедъри и т.н и ест. без ob_start(); ще му връща ерори. Имам спомени, че при опит да сетнеш сесия т.е $session['bla'] = "beee"; даваше грешка без ob_start();
А за br-то, не съм разбрал, стори ми се, че иска да го свали надолу :):)
 

Back
Горе