Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка сессий
 
 автор: ruslanaxti   (17.02.2011 в 19:54)   письмо автору
 
 

Запускаю сессию, она выдает ошибку, но сам скрипт работает, выводит идентификатор сессии, его имя. Скрипт такой:

<?php
session_name("name");
session_id();
session_start();

$sis=session_id();

echo session_id().'<br>'.session_name();
?>

выводит

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at G:\www\html\test.php:1) in G:\www\html\test.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\www\html\test.php:1) in G:\www\html\test.php on line 4

27748526061c86cb228c1788c5f32bf1
name

  Ответить  
 
 автор: ruslanaxti   (17.02.2011 в 19:56)   письмо автору
 
   для: ruslanaxti   (17.02.2011 в 19:54)
 

В чем может быть причина. Работаю в dreamweaver cs5. Пустых строк, пробелов тоже нет. Сам фаил не куда не вставляю

  Ответить  
 
 автор: neadekvat   (17.02.2011 в 20:02)   письмо автору
 
   для: ruslanaxti   (17.02.2011 в 19:54)
 

http://phpfaq.ru/sessions#bugs
Советую прочитать всю страницу, а не только раздел ошибок - почерпнете для себя много полезной информации.

  Ответить  
 
 автор: cheops   (17.02.2011 в 20:22)   письмо автору
 
   для: ruslanaxti   (17.02.2011 в 19:54)
 

А что находится в 4 строке файла test.php?

  Ответить  
 
 автор: Trianon   (17.02.2011 в 20:36)   письмо автору
 
   для: cheops   (17.02.2011 в 20:22)
 

судя по диагностике - вызов функции session_start()

  Ответить  
 
 автор: ruslanaxti   (17.02.2011 в 20:36)   письмо автору
 
   для: cheops   (17.02.2011 в 20:22)
 

строка session_start();

вообще то при установке куки тоже показывает ошибку. Строка в файле всего одна
<?php setcookie("fitne","sdfsf"); ?>

Warning: Cannot modify header information - headers already sent by (output started at G:\www\html\test.php:1) in G:\www\html\test.php on line 8

  Ответить  
 
 автор: neadekvat   (17.02.2011 в 20:39)   письмо автору
 
   для: ruslanaxti   (17.02.2011 в 20:36)
 

Пост с ссылкой вы не заметили?

  Ответить  
 
 автор: cheops   (17.02.2011 в 20:44)   письмо автору
 
   для: ruslanaxti   (17.02.2011 в 20:36)
 

А перед <?php пробела нет?

  Ответить  
 
 автор: ruslanaxti   (17.02.2011 в 22:08)   письмо автору
 
   для: cheops   (17.02.2011 в 20:44)
 

Пост с ссылкой читал. Но как там написано все делал, пробелов нет и перед <?php тоже, папку для хранения сессии тоже указал, сессии туда записываются, там создаются файлы сессий. Да и сама сессия работает, но сообщения с ошибками выходят

  Ответить  
 
 автор: Trianon   (17.02.2011 в 22:17)   письмо автору
 
   для: ruslanaxti   (17.02.2011 в 22:08)
 

Вероятно, там не пробел, а Byte Order Mark индикатор
Он обычно не отображается, как отдельный символ, а проблемы создает точно также.

  Ответить  
 
 автор: kvins   (17.02.2011 в 23:59)   письмо автору
 
   для: Trianon   (17.02.2011 в 22:17)
 

кстати тоже хотел спросить об этом и наткнулся на тему)))

могу тока в бобавок сказать что это делаю в денвере причем старом, потому что в новом отключены глобал регистры и не работает гет запрос
. мб это денвер тупит??

или можно код выложить а вы посмотрите??

а кстати что за папка для хранения ссесии,а то в первый раз делаю

  Ответить  
 
 автор: Trianon   (18.02.2011 в 00:10)   письмо автору
 
   для: kvins   (17.02.2011 в 23:59)
 

>кстати тоже хотел спросить об этом и наткнулся на тему)))

здесь считается более корректным создать свою собственную.

>могу тока в бобавок сказать что это делаю в денвере причем старом,
>потому что в новом отключены глобал регистры и не работает гет запрос

если Вы применяете register_globals, я Вам совершенно точно помочь не смогу.

>. мб это денвер тупит??

ни разу не сталкивался с тем, что денвер тупит. Что второй, что третий.


>или можно код выложить а вы посмотрите??

выложить никто не мешает, но код в стиле третьего php я воспринять не возьмусь.


>а кстати что за папка для хранения ссесии,а то в первый раз делаю

в денвере с этим всё в порядке.

  Ответить  
 
 автор: kvins   (18.02.2011 в 02:04)   письмо автору
 
   для: Trianon   (18.02.2011 в 00:10)
 

да это только в денвере втором они сами включены. а в 3 не проходили get запросы, хотя на сайте все норм там где регистры отключены. я знаю что включеные регистры,это смерть сайту))


ну у всех сайтах по разному)) то просят в 1 месте то в отдельном, хотя в отдельных с одинаковым вопром, придется 2 раза обьяснять 2 топиках)))

тока в этот раз тут выложу а вслед раз свою создам

(кстати не выставлял никаких имен, потому что не понял для чего они хотя видел что вроде ставят
мб где то есть подробная информация об этом)
ошибки скорей всего есть) надеюсь ты поможешь))


<? include ("blocks/bd.php");
session_set_cookie_params(2*7*24*60*60);
session_start();

?>

<form action="index.php" method="post">
<p>
<label>Логин<br>
<input type="text" name="login" size="20" maxlength="15">
</label>
</p>
<p>
<label>Пароль<br>
<input name="pass" type="password" size="20" maxlength="15">
</label>
</p>

<p>
<input type="submit" value="enter">
</p>

<p>
<input type="submit" value="exit" type="exit">
</p>
</form>





<?
$exit = $_POST['exit'];
$pass = $_POST['pass'];
$login = $_POST['login'];
$result10 = mysql_query ("SELECT * FROM user",$bd);
$myrow10 = mysql_fetch_array ($result10);

if (isset($_POST['exit']))
{
$exit = session_destroy();
}
if ($myrow10['pass'] == $pass && $myrow10['login'] == $login)
{

echo "все ок";

}
else {
exit ();
}

?>

  Ответить  
 
 автор: kvins   (18.02.2011 в 02:44)   письмо автору
 
   для: kvins   (18.02.2011 в 02:04)
 

а все прочитал что надо session_start самым первым ставить)) завтра попробую а то уже поздно

хотя вопрос про имя кот дается $_SESSION['???'] это я понял можно из базы данных масив вставлять??

и кстати надо ли выставлять время на хранение куки?

вот еще пришел дописать))) session_register("a"); это чтоб навсех страницах было я так понял
а что за а внутри? и если я испозьзую базу данных то туда можно id пользователя поставить?


ща утром проверил и дописываю.. ну это я для того кто создавал сам пост наверно
вставь строку до всех доктайп да и вообще самую первую строку страницы и вписывай без пробела

<?session_start()?> а потом если надо создашь еще <??> для других функций
хотя еще жду ответов про правильное построение ссесий((

видимо он мало читал и никто не сказал что session_start должна быть вообще самой первой а не 3 как у него

  Ответить  
 
 автор: ruslanaxti   (23.02.2011 в 23:51)   письмо автору
 
   для: kvins   (18.02.2011 в 02:44)
 

Вообщето как у меня тоже правильно. Оказалось вс дело в редакторе dreamweaver cs5. Созданный в нем файл выдает такую ошибку, а в других редакторах тот же код работает нормально

  Ответить  
 
 автор: Косорылый   (24.02.2011 в 00:38)   письмо автору
 
   для: ruslanaxti   (23.02.2011 в 23:51)
 

БУМ отключите...

  Ответить  
 
 автор: neadekvat   (24.02.2011 в 00:44)   письмо автору
 
   для: Косорылый   (24.02.2011 в 00:38)
 

Быть может, БОМ?

  Ответить  
 
 автор: ruslanaxti   (25.02.2011 в 18:16)   письмо автору
 
   для: neadekvat   (24.02.2011 в 00:44)
 

Да это точно от кадировки utf-8. Перевел ее на koi8-r как все заработало.
Скажите какую кадировку мне использовать для сайта где используется в основном русский текст и английский тоже? И в какой кодировке создавать базу данных?

  Ответить  
 
 автор: neadekvat   (25.02.2011 в 18:25)   письмо автору
 
   для: ruslanaxti   (25.02.2011 в 18:16)
 

UTF-8.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования