[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: session_start();
XCross
Ну тут уже с синтаксисом более менее(я в плане mysql) остальное незнаю-незнаю...

Вроди работает(не все)..
авторизирован ли проверяет, новость в базу добавляет.

Вот сам скрипт:


<?php
session_start();
if(isset($_SESSION['login']))
{
include 'connect.php';

$autor=$_SESSION['login']; //вытаскиваем логин автора из сессии
$cat=$_GET['cat']; //католог
$caption=($_GET['caption']); //заголовок
$msg=($_GET['message']); //это сам текст


if(empty($_GET['caption']) //Если не задан заголовок
or empty($_GET['message'])) //или вообще не написано сообщения

{
echo("Вернитесь обратно и заполните все поля!"); //ругаемся
}
else
{
mysql_query("INSERT INTO `news` SET
`category`='
$cat',
`autor`= '
$autor',
`caption`= '
$caption',
`message`= '
$msg'"
)or die(mysql_error()); //Заполняем таблицу данными, а если ошибка, то говорим об этом

$preview=mysql_query("SELECT * FROM `news` WHERE `autor` = '$autor'") or die(mysql_error()); //вытаскиваем данные из базы
mysql_close();
while ($row=mysql_fetch_array($preview)) //цЫкл
{

echo("<center>Следующий текст был успешно добавлен в базу:</center>")
echo ($row['autor']."<br>"
.$row['caption']."<br>" //Заголовок статьи
.$row['category']."<br>" //Категорию
.$row['message']."<br" //Его сообщение
.$row['date']); //Дату публикации

}
}
}

else
{
echo("Вы не авторизировались!");
header('Refresh: 2; url=login.html');
}

?>


Незнаю почему ругается...
Цитата
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/e/eman-bit.hut2.ru/WWW/addnews.php:2) in /home/e/eman-bit.hut2.ru/WWW/addnews.php on line 3


На сайте:
http://www.softtime.ru/bookphp/gl8_1.php

яснопонятно белым по-черному на каждой страничке указывается

session_start()
ну тож самое сделал..
А почему ошибка незнаю.

Так же при новом добавлении новости к ней еще и старая приплетается. Мож как-нибудь очистить нужно переменые?

И еще(ох какой назойливый :rolleyes: ) редирект не работает(...когда не аторизирован и нужно послать на страничку авторизации..



Спустя 19 минут, 52 секунды (4.04.2011 - 17:40) alex12060 написал(а):
Цитата
session_start();


Перед session_start() Пробелов быть не должно!

Спустя 27 минут, 23 секунды (4.04.2011 - 18:07) Bercut написал(а):
Скорее всего у вас перед <?php пустая строка, т.е. был произведён вывод контента. После вывода контента браузеру невозможно установить какие-либо заголовки. От этого и с сессией проблемы и с редиректом.

Такая же проблема возникает когда файл в кодировке UTF-8 (если использовать utf, то должно быть UTF-8 без BOM)

Спустя 2 минуты, 47 секунд (4.04.2011 - 18:10) XCross написал(а):
Все исправил) спасибо

Можешь что-нибудь посоветовать с дубликацией текста?

Спустя 18 часов, 4 минуты, 55 секунд (5.04.2011 - 12:15) XCross написал(а):
Что опять не так? При загузке ошибка:
Цитата
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/e/eman-bit.hut2.ru/WWW/index.php:23) in /home/e/eman-bit.hut2.ru/WWW/blocks/right.php on line 2


<?php
session_start();
if(!isset($_SESSION['login']))
{
echo('
<div id="right-block">
<div id="caption">
<h3><b>UserBar</b></h3>
</div>
<div id="userbar">
<form action="" method="get">
<center>
<input name="Name" type="text" value="Логин" size="20" maxlength="25"/>
<br>
<br>
<input name="Pass" type="text" value="Пароль;" size="20" maxlength="25">
<br>
<br>
<input name="" type="button" value="Вход">
<br>
</center>
</form>
</div>
</div>
'
);
}
else
{
...тут код немальенький
}
?>

Спустя 3 часа, 29 минут, 18 секунд (5.04.2011 - 15:44) inpost написал(а):
kmaks
session_start(); нужно в САМОМ начале документа до любого вывода информации на экран.
Так как в скрипте ты выводишь <div> , по логично, что перед Session_start() у тебя был записан вывод <html><head><body>, так вот, начало сессии надо писать в САМОМ НАЧАЛЕ.

Спустя 28 минут, 19 секунд (5.04.2011 - 16:13) XCross написал(а):
Спасибо! Работает...
А потом, допустим, на страницах, где требуется проверка авторизированности так же нужно запускать сессии?

Спустя 3 минуты, 50 секунд (5.04.2011 - 16:17) nugle написал(а):
да

Спустя 2 часа, 41 минута, 52 секунды (5.04.2011 - 18:58) eXaM написал(а):
А вообще, лучше делать все через один файл index.php (как в уроках IRBIS-Team) и один раз в этом файле начать сессию (или не один раз, а в switch'е, переключающем модули, для нужных модулей).

Спустя 2 минуты, 42 секунды (5.04.2011 - 19:01) Игорь_Vasinsky написал(а):
смотря скока кода - как уирбиса - они там дальше на ЧПУ настраивают

а так надо смотреть на вес страницы в целом

Спустя 1 час, 49 секунд (5.04.2011 - 20:02) eXaM написал(а):
Ну не скажите. Я сейчас по модели IRBIS делаю и социальную сеть (нет, не очередной убийца ВКонтакте и даже не близко), и интернет-магазин, и простенький сайтик, где PHP по сути только подключает нужный JS-файл. Это я к тому, что архитектура эта универсальна. Хотя тут как с физикой: законы механики на молекулярном уровне не действуют (молекулы могут бесконечно двигаться, не останавливаясь), но в вебе наоборот: высоконагруженные проекты делаются по иным правилам. Я, правда, пока не знаю, каким, но, например, движок Facebook разбит на несколько файлов, та же ситуация с ВКонтакте. Может, как-то связано с распределением нагрузки между серверами, не знаю.

Спустя 2 минуты, 22 секунды (5.04.2011 - 20:04) Игорь_Vasinsky написал(а):
это называется на ирбис, а MVC

Спустя 33 минуты, 15 секунд (5.04.2011 - 20:38) eXaM написал(а):
Я не о том. MVC — разделение логики и представления (точнее, один из способов это сделать), а под ирбисовской архитектурой я подразумевал подключение нужных файлов к индексу.


_____________
Обмен Ukash на WebMoney
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.