Автор Тема: Главоблъсканица със session_start()  (Прочетена 765 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Knoppix

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 3
  • -Получени: 0
  • Публикации: 67
Главоблъсканица със session_start()
« -: 29 Януари 2016, 23:51:55 »
Здравейте,
главоблъсканицата е следната

имам страница left.inc.php със следният код

      <div class="sidebar">
      <div class="sidebar_item">
      <h2>Online Courses</h2>
      </div>
      </div>
<div class="sidebar">
          <div class="sidebar_item">
            <?php
             include(
'inc/dbconnect.inc.php');

mysql_query("SET CHARACTER SET utf8");

$result mysql_query("SELECT * FROM courses WHERE course_left = 'YES' and course_type = 'Language'");
while($row mysql_fetch_array$result )) 
{
$course_name $row['course_name'];
$course_short_desc $row['course_short_desc'];
$course_id $row['course_id'];

echo '<h3>'.$course_name.'</h3>';
echo '<p>'.$course_short_desc.' <a href="?page=view&course_id='.$course_id.'"><font color="#48A4FF">Learn</font></a></p>';
}
?>
       
  </div><!--close sidebar_item-->
        </div><!--close sidebar-->
        <div class="sidebar">
          <div class="sidebar_item">
            <?php
             include(
'inc/dbconnect.inc.php');

mysql_query("SET CHARACTER SET utf8");

$result mysql_query("SELECT * FROM courses WHERE course_left = 'YES' and course_type = 'Computers'");
while($row mysql_fetch_array$result )) 
{
$course_name $row['course_name'];
$course_short_desc $row['course_short_desc'];
$course_id $row['course_id'];

echo '<h3>'.$course_name.'</h3>';
echo '<p>'.$course_short_desc.' <a href="?page=view&course_id='.$course_id.'"><font color="#48A4FF">Learn</font></a></p>';
}
?>
       
  </div><!--close sidebar_item-->
        </div><!--close sidebar-->
        <div class="sidebar">
          <div class="sidebar_item">
            <p><div class="fb-like-box" data-href="https://www.facebook.com/pages/my-online-teachercom/1495737860686375" data-width="220" data-colorscheme="dark" data-show-faces="true" data-header="false" data-stream="false" data-show-border="false"></div></p>
          </div><!--close sidebar_item-->
        </div><!--close sidebar-->

и страница login със следният код
<div class="content_item">
<?php
session_start
();

if(isset(
$_SESSION['user'])!="")
{
header("Location: home.php");
}

if(isset(
$_POST['btn-login']))
{
$email mysql_real_escape_string($_POST['email']);
$upass mysql_real_escape_string($_POST['pass']);

$email trim($email);
$upass trim($upass);

$res=mysql_query("SELECT user_id, user_name, user_pass FROM users WHERE user_email='$email'");
$row=mysql_fetch_array($res);

$count mysql_num_rows($res); // if uname/pass correct it returns must be 1 row

if($count == && $row['user_pass']==md5($upass))
{
$_SESSION['user'] = $row['user_id'];
header("Location: ?page=profile.inc.php");
}
else
{
?>

        <script>alert('Username / Password Seems Wrong !');</script>
        <?php
}

}
?>

</div><!--close content_item-->

Проблема е че при извикване на страница логин в браузъра ми изписва този Warning
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\mot_backUp\inc\left.inc.php:22) in C:\xampp\htdocs\mot_backUp\inc\pages\login.inc.php on line 3

Моля за помощ

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Главоблъсканица със session_start()
« Отговор #1 -: 30 Януари 2016, 00:14:54 »
Имаш съдържание, което е пратено преди пренасочването и точно това гласи съобщението, в кода ясно се вижда div таг. Извади си проверките и логиката преди показването на HTML-а и като цяло визуализирането на нещо в браузъра и ще се оправят нещата
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

Knoppix

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 3
  • -Получени: 0
  • Публикации: 67
Re: Главоблъсканица със session_start()
« Отговор #2 -: 30 Януари 2016, 00:18:50 »
Дори и да го няма <div> ефекта е абсолютно същият

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Главоблъсканица със session_start()
« Отговор #3 -: 30 Януари 2016, 00:21:46 »
Ако няма нищо пратено към браузъра, то тогава най-вероятно трябва да сложиш и един exit; под пренасочването с header
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: Главоблъсканица със session_start()
« Отговор #4 -: 01 Февруари 2016, 11:22:18 »
И в двата файла имаш същия проблем. Преди да се стартира сесията имаш html. Принципно този код е много много лош, НО е хубаво, че си започнал така. Казвам това, защото като завършиш проектта си, ще имаш нещо работещо и може да се насочиш към грешките, който си направил. Пробвай следното нещо. Създай един index.php,  който ще е началната точка на приложението ти. Там може да направиш стартирането на сесията. Там може да слагаш някакви константи и т.н  След това го добавяш във всеки файл, преди всякакъв html
Код: PHP