2011-08-08 244 views
0

嗨我犯了一个登录系统为我的网站,现在当我尝试登录,它说PHP登录系统错误?

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 

是什么意思呢?

回答

0

你必须在之前开始一个会话你有一些输出(echo,print或者其他东西)。你应该使用$ _SESSION数组而不是session_register(这已被弃用,不应该再使用)。

+0

为什么人们低估正确答案? –

3

这意味着您不应该再使用session_register()了,因为该功能很快就会消失。

使用此教程来使用会话的正确方法:http://www.tizag.com/phpT/phpsessions.php

有关修改页眉的第二个警告很可能是因为你的代码的一部分,试图设置一个头,但由于一个错误已经发送到输出,它不能再这样做了。 HTTP服务器总是在内容之前发送标题。

+0

谢谢,整理出来,它再次运作:) –

4

请勿使用session_register(),因为它已被弃用。相反,主动与

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

会话主叫session_register()之前“头已经发送”错误表明你有输出,哪怕是只有空白。如果您在session_register()调用之前没有故意执行任何输出(您应该用上面的代码替换它),请确保在打开之前没有空白空间<?php,包括由违规文件编辑的任何文件include()

1

你现在应该更长时间使用session_register();比较session_register()。使用超全局$ _SESSION数组代替

1

在发送输出文本的标头之前,您将收到警告。该警告是由于不赞成的函数调用。 你可以是 1)关闭警告信息 2)使用除session_register之外的东西来避免第一个错误。

弃用意味着“不再使用”。通常这意味着它已被替换为其他东西。