Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 16:40   #1
bars2076
Новичок
Джуниор
 
Регистрация: 14.05.2011
Сообщений: 1
По умолчанию Function session_register

Здравствуйте!
Помогите пожалуйста, не могу понять что нужно изменить, выскакивает вот такие ишибки:

Deprecated: Function session_register() is deprecated in Z:\home\localhost\www\lobby\index.p hp on line 5

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\lobby\index.p hp:5) in Z:\home\localhost\www\lobby\index.p hp on line 7

код этой страницы:

Код:
<?
Error_Reporting(E_ALL & ~E_NOTICE);
unset($l);
session_start();
session_register($l);
if(!isset($l)){
header("Location: login.php");
exit;
}
if ($st == "exit"){
unset($l);
session_destroy();
echo "<script language=\"JavaScript\">location.href=\"../index.php\";</script>";
}
include ("../setup.php");


$row=mysql_fetch_array(mysql_query("select * from users where login='$l'"));
$conf=mysql_fetch_array(mysql_query("select * from seting"));

?>
bars2076 вне форума Ответить с цитированием
Старый 14.05.2011, 19:30   #2
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию

А зачем вы сначала раз устанавливаете переменную $l unset($l);
А потом пытаетесь зарегистрировать её в session_register($l);

Последний раз редактировалось slips; 14.05.2011 в 19:49.
slips вне форума Ответить с цитированием
Старый 15.05.2011, 12:41   #3
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Собственно, вам всё уже в ошибках написали:
1. Вы используете устаревшую конструкцию session_register().
2. Так как текст страницы уже начал отсылаться, то заголовки изменить нальзя.

Что делать:
1а. Не используйте эту конструкцию.
1б. Отключите вывод ошибок пользователю в php.ini или в эррор репортинг
1в. Сделайте error_handler на варнинги, обрабатывайте их, пишите в лог, но не выдавайте их пользователю.
1г. Используйте PHP по-старее, который ещё не знает, что session_register() устарела

Самое простое - 1б.
Но на вашем месте я бы всё же задумался над 1а, 1б и 1в. Это поможет в будущем.

2. Как только вы сделаете одно из вышеперечисленного, и варнинг перестанет идти на вывод, станет возможным для PHP изменить заголовки, и, соответственно, изчезнет и вторая ошибка.

PS: И действительно, зачем вы вытворяете такие странные вещи с $l ?

Последний раз редактировалось graymaster; 15.05.2011 в 12:43.
graymaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сессии (session_register) Викдон PHP 4 14.05.2011 18:28
function Now Виктория7777 БД в Delphi 11 11.04.2011 21:59
сессии - session_register() is deprecated Dimarik PHP 4 11.07.2010 18:24
Deprecated: Function session_register() is deprecated Rusl92 PHP 4 05.07.2010 13:15
function c++ strabik Общие вопросы C/C++ 1 19.05.2010 13:44