PHP Логин Системная ошибка? - PullRequest
0 голосов
/ 08 августа 2011

Привет, ребята, я сделал систему входа для своего сайта, и теперь, когда я пытаюсь войти, он говорит:

Deprecated: Function session_register() is deprecated in /home/nzcraftn/public_html/admin/login/index.php on line 16

Warning: Cannot modify header information - headers already sent by (output started at /home/nzcraftn/public_html/admin/login/index.php:16) in /home/nzcraftn/public_html/admin/login/index.php on line 17

Что это значит ??

Ответы [ 5 ]

4 голосов
/ 08 августа 2011

Не используйте session_register(), поскольку оно устарело. Вместо этого начните сеанс с

session_start();
// Store values in the  $_SESSION superglobal
$_SESSION['logged_in'] = TRUE;

Ошибка «заголовки уже отправлены» указывает на то, что вы выделили до вызова session_register(), даже если это только пробел. Вы не можете иметь никакого вывода перед функцией изменения заголовка, такой как session_start(), setcookie(), or header()

Если вы не умышленно сделали какие-либо выходные данные до вызова session_register() (который вы должны заменить на код, как указано выше), убедитесь, что до открытия <?php нет пустого места, в том числе в любом файле include() ' отредактировано оскорбительным файлом.

3 голосов
/ 08 августа 2011

Это означает, что вы не должны больше использовать session_register(), так как функция скоро уйдет.

Используйте это руководство для правильного использования сессий: http://www.tizag.com/phpT/phpsessions.php

Второе предупреждение об изменении информации заголовка, вероятно, связано с тем, что часть вашего кода пыталась установить заголовок, но поскольку ошибка уже была отправлена ​​на выход, она больше не может этого делать. HTTP-серверы всегда отправляют заголовки перед содержимым.

1 голос
/ 08 августа 2011

Вы получаете предупреждение перед отправкой заголовков, выводящих текст. Предупреждение из-за устаревшего вызова функции. Вы также можете 1) отключить предупреждающие сообщения 2) использовать что-то помимо session_register, чтобы избежать ошибки в первую очередь.

Устаревший означает «больше не используется». Обычно это означает, что оно было заменено чем-то другим.

1 голос
/ 08 августа 2011

что теперь вам нужно больше использовать session_register (); cf session_register () . Вместо этого используйте суперглобальный массив $ _SESSION *

0 голосов
/ 08 августа 2011

Вы должны начать сеанс до у вас есть какой-либо вывод (эхо, печать или что-то). И вы должны использовать массив $ _SESSION вместо session_register (который устарел и больше не должен использоваться).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...