Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с session_start();
Форумы портала PHP.SU » » Если скрипт не работает » Проблема с session_start();

Страниц (1): [1]
 

1. Igor_PHP - 24 Июня, 2015 - 23:03:34 - перейти к сообщению
При входе в админку выдает ошибку :

PHP:
скопировать код в буфер обмена
  1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/w/wallmedia/event_agency/public_html/admin/admin.php:4) in /home/w/wallmedia/event_agency/public_html/admin/admin.php on line 11
  2.  
  3. Warning: Cannot modify header information - headers already sent by (output started at /home/w/wallmedia/event_agency/public_html/admin/admin.php:4) in /home/w/wallmedia/event_agency/public_html/admin/admin.php on line 141


Кодировка UTF8 без BOM. Сайт писался на XAMPP'e там всё работает а на хостиге отказывается.

(В коде админки признаюсь нахаркодил из за вечной ошибки о неожиданном конце скрипта)
Подскажите как исправить данную ошибку?

PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <?PHP require'head_admin.php';?>
  5.  
  6. <body>
  7.  
  8. <?PHP require'php/config.php';?>
  9.  
  10. <?PHP
  11. $control_log=$_SESSION['login']==LOGIN;
  12. $control_pass=$_SESSION['password']==PASSWORD;
  13. $control_log_I=$_SESSION['login']==LOGIN_I;
  14. $control_pass_I=$_SESSION['password']==PASSWORD_I;
  15. if($_SESSION['login']==LOGIN && $_SESSION['password']==PASSWORD or $_SESSION['login']==LOGIN_I && $_SESSION['password']==PASSWORD_I){
  16.  
  17.  
  18.  
  19. echo "<div class='admin_panel'>";
  20. echo "<div id style='border-right:1px solid black; width:2px; height:40px; margin-left:230px; margin-top:-12px; position:absolute;'></div>";
  21. echo "<h9>панель администратора</h9>";
  22. echo "<div class='border_text'><a href='/admin/admin.php?&btn=new_massage'><p><b>Услуги</b></p></a></div>";
  23. echo "<form method='post' action='admin.php'>";
  24. echo "<input type='submit' class='button_exit' name='exit' value='Выход'>";
  25. echo "</form>";
  26. echo "</div>";
  27. echo "<p style='font-size:14pt; margin-left:20px; margin-top:5px;'>Пользователь:&nbsp;"; echo ($_SESSION['login']); echo"</p>";
  28.  
  29.  
  30. require 'php/connect.php';
  31.  
  32.  
  33.  
  34.  
  35. $btn=isset($_GET['btn'])?$_GET['btn']:0;
  36. switch($btn){
  37.         case"new_massage":
  38.         $style_1='style="border-bottom:2px solid red;"';
  39.         $b_1='<b>';
  40.         $b_2='</b>';
  41.         $px='-20px;';
  42.         $px_1='0px;';
  43.         break;
  44.        
  45.        
  46.         case"redacted":
  47.        
  48.         $style_2='style="border-bottom:2px solid red;"';
  49.         $bb_1='<b>';
  50.         $bb_2='</b>';
  51.         $px='0px;';
  52.         $px_1='1px;';
  53.         $display='display:none;';
  54.         break;
  55.         }
  56.  
  57.        
  58.        
  59. echo"<div id ='redacted'>";
  60. echo"<div id='redacted_1'"; echo@"$style_1"; echo" ><a href='/admin/admin.php?&btn=new_massage'><p>"; echo@"$b_1"; echo"Добавить новую запись"; echo@"$b_2"; echo" </p></a></div>&nbsp;&nbsp;|&nbsp;";
  61. echo"<div id='redacted_2'"; echo@"$style_2"; echo"><a href='/admin/redacted.php?&btn=redacted'><p>"; echo@"$bb_1"; echo"Редактировать запись"; echo@"$bb_2"; echo" </p></a></div>";
  62.  
  63.  
  64. echo "<div id style='//border:2px solid black; margin-top:";echo"$px_1"; echo" margin-left:"; echo"$px"; echo" width:530px; padding:20px; '>";
  65.  
  66.  
  67. //<!--Текстовый редактор-->
  68. echo "<form method='post' action='admin.php' enctype=multipart/form-data>";
  69. echo "<div id='sample' style='position:relative;'>";
  70. //<!--Добавление фото-->
  71. echo "<p><b>Фотография</b></p>";
  72. echo "<div id style='border:0px solid black; margin-bottom:15px;'>";
  73. echo "<label for='file'><img src='/img/search.png' alt=''></label>";
  74. echo "<input type='file' name='UploadFoto' value='"; echo"' class='UploadFoto' >";
  75. echo "</div>";
  76. //<!--Добавление фото-->
  77.  
  78. //<!--Заголовок-->
  79. echo "<p><b>Заголовок</b></p>";
  80.         echo "<div style='width:526px; height:auto; //border:1px solid black; margin-bottom:20px;'>";
  81.         echo "<input type='text'  name='title' placeholder='Текст заголовка'";  echo"style='overflow:hidden; resize:none; font-size: 14px; //background-color: #ccc; padding: 3px; border: 1px solid #ccc; width: 519px; height:20px; '>";
  82.         echo "</div>";
  83. //<!--Заголовок-->
  84.  
  85. echo "<script type='text/javascript' src='/admin/js_admin/main_js.js'></script>";
  86. echo "<script type='text/javascript'>";
  87. //<![CDATA[
  88.     echo" bkLib.onDomLoaded(function() {";
  89.          echo" var myNicEditor = new nicEditor();";
  90.          echo" myNicEditor.setPanel('myNicPanel');";
  91.          echo" myNicEditor.addInstance('myInstance1');";
  92.          echo" myNicEditor.addInstance('myInstance2');";
  93.          echo" myNicEditor.addInstance('myInstance3');";
  94.   echo"   });";
  95.   //]]>
  96.  echo "</script>";
  97.  
  98.  echo" <div id='myNicPanel' style='width: 525px;'></div></br>";
  99.  echo" <p><b>Текст услуги</b></p>";
  100.  //echo" <!--<input type='text' id='myInstance1' name='myInstance1' style='overflow:hidden; resize:none; font-size: 14px; //background-color: #ccc; padding: 3px; border: 1px solid #ccc; width: 519px; height:300px; size:1000px;'>-->";
  101.  //echo" <!--<div input type='text' id='myInstance1' name='myInstance1' style='font-size: 14px; //background-color: #ccc; padding: 3px; border: 1px solid #ccc; width: 519px; //height:300px; size:1000px;'></div>-->";
  102.  echo" <div style='width:527px; height:auto; border-top:1px solid #ccc; margin-bottom:20px;'>";
  103.  echo" <textarea  type='text' id='myInstance1' name='myInstance1' style='position:relative; font-size: 14px; //background-color: #ccc; padding: 3px; border: 1px solid #ccc; width: 525px; //height:300px; size:1000px;'>";  echo" </textarea>";
  104.  echo" </div>";
  105.   //echo" <!--</input>-->";
  106.  
  107.  
  108.  
  109. echo" </div>";
  110.  
  111. //<!--Текстовый редактор-->
  112. echo "<input type='submit' name='enter' class='button' value='Отправить'/>";
  113.  
  114. echo" </form>";
  115. echo" </div>";
  116.  
  117. @$BD_connect=mysql_connect(BD_HOST,BD_USER,BD_PASS) or die("Ошибка подключения!".mysql_error());
  118. mysql_select_db(BD_NAME,$BD_connect);
  119.  
  120. if (isset($_POST['enter'])){
  121.        
  122. @$inst=addslashes($_POST["myInstance1"]);
  123. @$title=addslashes($_POST["title"]);
  124.  
  125. @mkdir("uploads", 777);
  126. $upload_dir='uploads/';
  127. $upload_file=$upload_dir.basename($_FILES['UploadFoto']['name']);
  128. $fname=$_FILES['UploadFoto']['name'];
  129. $ftmp=$_FILES['UploadFoto']['tmp_name'];       
  130. $dir=move_uploaded_file($ftmp,$upload_dir.$fname);
  131.  
  132. if ($inst!=='<br>'){
  133. mysql_query("INSERT INTO content VALUES('$upload_file','$title','$inst')");
  134. header('Location:admin.php');
  135. exit();
  136. }
  137. }
  138.  
  139.  
  140. }else{header('Location:password.php'); exit();}
  141.  
  142.  
  143. if(isset($_POST['exit'])){
  144. unset($control_log_I); 
  145. unset($control_pass_I);
  146. unset($control_log);   
  147. unset($control_pass);
  148. header("Location:password.php");
  149. }
  150.  
  151. ?>
  152.  
  153.  
  154.  
  155.  
  156. </body>
  157. </html>
  158.  
2. Строитель - 24 Июня, 2015 - 23:13:35 - перейти к сообщению
session_start(); вверх переместить.
(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP session_start(); ?>
  3. <!DOCTYPE html>
  4. // И т.д.
  5.  
3. Igor_PHP - 24 Июня, 2015 - 23:25:14 - перейти к сообщению
Спасибо!
Но всёровно одна ошибка осталась :

CODE (htmlphp):
скопировать код в буфер обмена
  1. Warning: Cannot modify header information - headers already sent by (output started at /home/w/wallmedia/event_agency/public_html/admin/admin.php:5) in /home/w/wallmedia/event_agency/public_html/admin/admin.php on line 142
4. Строитель - 24 Июня, 2015 - 23:46:40 - перейти к сообщению
Igor_PHP, посмотрите здесь >> http://forum.php.su/topic.php?fo...&topic=13529
5. DelphinPRO - 25 Июня, 2015 - 00:36:31 - перейти к сообщению
Да сколько можно-то уже!! Улыбка

Для вас даже сайт специализированный на одной этой ошибке сделали - cannot-modify-header-information ru
И еще классическая ссылка по теме - phpfaq ru/headers
6. Igor_PHP - 26 Июня, 2015 - 22:30:35 - перейти к сообщению
Проверил всё на пробелы и тд и тп всё ровно:

PHP:
скопировать код в буфер обмена
  1. Warning: Cannot modify header information - headers already sent by (output started at /home/w/wallmedia/event_agency/public_html/admin/admin.php:5) in /home/w/wallmedia/event_agency/public_html/admin/admin.php on line 142


Теперь в файле где пароль ввожу тоже стали вылетать ошибки при попытке ввести пароль.

PHP:
скопировать код в буфер обмена
  1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/w/wallmedia/event_agency/public_html/admin/password.php:5) in /home/w/wallmedia/event_agency/public_html/admin/password.php on line 52
  2.  
  3. Warning: Cannot modify header information - headers already sent by (output started at /home/w/wallmedia/event_agency/public_html/admin/password.php:5) in /home/w/wallmedia/event_agency/public_html/admin/password.php on line 55


Вот код страници авторизации :


PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Password</title>
  5. <?PHP require'head_admin.php';?>
  6. </head>
  7.  
  8. <body style="background-image:url(/img/gorod-moskva.jpg);  background-size:; margin:-0px; position: relative;">
  9.  
  10. <?PHP
  11.  
  12. require'php/config.php';
  13.  
  14.         $form=' <div class="box_content">
  15. <div id="menu_top"><p style="font-size:18pt; color:#fff; text-align:center;"><b>Личный кабинет</b></p></div>
  16.  
  17. <form method="post" action="password.php">
  18. <div class="name_box" style="margin-top:35px;">
  19. <input type="text" name="login" required class="color_text"  placeholder="login"></input>
  20. </div>
  21.  
  22. <div class="name_box">
  23. <input type="password" name="password" required class="color_text"  placeholder="password"></input>
  24. </div>
  25.  
  26. <input type="submit" class="button_log" name="enter" value="Войти"/>
  27. </form>
  28. </div>';
  29. echo $form;
  30.        
  31. if(isset($_POST['enter']))
  32. {
  33.        
  34. $log=trim(strip_tags($_POST['login']));
  35. $pass=trim(strip_tags($_POST['password']));
  36. $_SESSION['login']=$log;
  37. $_SESSION['password']=$pass;
  38.  
  39.        
  40. if($log==LOGIN && $pass==PASSWORD)
  41. {
  42. $_SESSION['login']=$log;
  43. $_SESSION['password']=$pass;
  44. header("Location:admin.php" );
  45.                 //echo $panel; 
  46. }
  47.        
  48.        
  49. if($log==LOGIN_I && $pass==PASSWORD_I)
  50. {
  51. $_SESSION['login']=$log;
  52. $_SESSION['password']=$pass;
  53. header("Location:admin.php" );
  54.                 //echo $panel; 
  55. }
  56.        
  57.        
  58.        
  59.        
  60. }
  61.  
  62.  
  63.  
  64. ?>
  65. </body>
  66. </html>
  67.  
  68.  



А на XAMPPе всё идеально работает. Как так ?
7. lastdays - 26 Июня, 2015 - 23:05:53 - перейти к сообщению
пздц. других слов не найти

Как должно быть:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. /*
  5. *   PHP CODE
  6. */
  7.  
  8. ?>
  9.  
  10. <HTML>
  11. <head>
  12. <meta http-equiv="Content-Type"  content="text/html; charset=windows-1251">
  13. <title>MY PAGE</title>
  14. </head>
  15. <body>
  16. <H1 align="center">TEST</H1>
  17. <p>tratata.</p>
  18. </body>
  19. </html>
  20.  
  21.  
8. DelphinPRO - 26 Июня, 2015 - 23:17:05 - перейти к сообщению
читать умеете?? или нет? похоже нет
ясно же написано
Igor_PHP пишет:
output started at /home/w/wallmedia/event_agency/public_html/admin/password.php:5) in /home/w/wallmedia/event_agency/p ublic_html/admin/password.php on line 52

вывод начат в 5 строчке файла password.php, попытка отправить заголовки была в 52 строке

Смотри строку №5, что там. и не задавай больше идиотских вопросов.

PS на локалке скорее всего, включена буферизация вывода, вот и работает.
(Добавление)
и статьи по ссылкам перечитай, которые я выше дал. Раз 10 перечитай. Не меньше.
9. Строитель - 26 Июня, 2015 - 23:45:08 - перейти к сообщению
Igor_PHP, я же уже говорил(писал) - "session_start()" должна быть вначале файла. А в вашем коде session_start(); стартует в 42-ой строке. Вопрос - какого лысого не должно быть ошибки?
10. Igor_PHP - 04 Июля, 2015 - 00:50:21 - перейти к сообщению
Ребят! Большое вам спасибо! Выручили!
Обещаю впредь тупых вопросов про session_start(); и header("Location:" ); не задавать))

 

Powered by ExBB FM 1.0 RC1