修复我的PHP脚本未知错误

时间:2014-03-01 03:25:01

标签: php mysql session isset

我有问题我的服务器从php4升级到php5 任何人都可以帮助我理解这种变化我不知道怎么回事 香港专业教育学院打破了需要编辑的代码

session_start();
unset($l);
session_register($l);

/***********************************************************************

Check if user is logged on and display the appropriate page

************************************************************************/

if($page=="" or $page==" "){

header("Location: site_start.php");

}

if($page!="" and& $page!=" "){

if(!isset($l)){

include ("templates/template_header_main.php");

include ("templates/template_login_top.php");

include ("templates/template_$page.php");

include ("templates/template_footer_main.php"); }

else

问题在于isset和会话寄存器我知道我要改变 session_register($ l)到$ _SESSION ['name'] = $ name;

但是我如何编辑isset以使用新的 $ _SESSION ['name'] = $ name;或者我如何编辑$ _SESSION ['name'] = $ name;与旧的isset一起工作 也 能告诉我这里有什么事实,我很棒 使用.php和自动脚本,但我只能想到$ _session 更多的命令不是$ var更多的会话寄存器命令,如果 这是有人可以共享$ _session命令列表 这有点困扰我的头,所有的帮助都非常受欢迎

谢谢你 autolinktrader

我也找到了这个

// Fix for removed Session functions
function fix_session_register(){
function session_register(){
$args = func_get_args();
$_SESSION[$key]=$GLOBALS[$key];
}
}
function session_is_registered($key){
return isset($_SESSION[$key]);
}
function session_unregister($key){
unset($_SESSION[$key]);

它修复我的错误我相信,但现在我得到这个错误

我只是一个带有此错误的白色屏幕

  

警告:date()[function.date]:依赖它是不安全的   系统的时区设置。您必需才能使用   date.timezone设置或date_default_timezone_set()函数。在   如果你使用了这些方法中的任何一种,你仍然会得到这个   警告,你很可能拼写错误的时区标识符。我们   选择“欧洲/莫斯科”代替“MSK / 3.0 /无DST”   第48行/home/autolink/public_html/domain1/index.php

     

警告:无法修改标头信息 - 已发送的标头   (输出从/home/autolink/public_html/donain1/index.php:48开始)   第82行/home/autolink/public_html/domain1/index.php

任何帮助都会感激不尽

1 个答案:

答案 0 :(得分:1)

1- session_register()

自PHP 5.3.0开始,此函数已被弃用,自PHP 5.4.0起已被删除。

请改用$_SESSION['key'],并记住使用session_start

开始页面

2-设置默认时区:

date.timezone in php.ini

DateTime::setTimezone

date_default_timezone_set

List of Supported Timezones

3- isset确定变量是否已设置且不为NULL并返回TRUE或FALSE