PHP - 5.3中的未定义变量但在5.1中有效

时间:2013-10-24 20:36:47

标签: php

我正在从我们的旧网站(MS Server 2003,PHP 5.1,IIS 6)移动我的网站到新服务器(MS Server 2008 R2,PHP 5.3,IIS 7.5),以下代码给了我我的新服务器上的“PHP通知:未定义的变量:年...”但它在旧服务器中运行良好。我认为这是PHP,但是有人可以对此有所了解吗? $ year变量在这里有问题。每次我运行我的表单时都会返回“抱歉,访问不当”。先谢谢你。

<?php 

if ( $year=='2012') || $year=='2013' || $year=='2014') <~~~~~ Error Here
{

    $nextyr=$year+1;
    $prevyr=$year-1;


    $prevyr = substr($prevyr, -2,2);
    $lookupyr = substr($year, -2);
    $nextyr = substr($nextyr, -2);

    if ( $sess == 'SP' ){ $EXyear=$prevyr.$lookupyr;    }
    else if ( $sess == 'SU'  ){ $EXyear=$prevyr.$lookupyr; }
    else  { $EXyear=$lookupyr.$nextyr;  }
}
else { $EXyear=$year; } <~~~~~~ Error Here

    if (!isset($FacID))
    {

   if (!isset($crs) || !isset($sess) || !isset($year))
    exit("<h1 align='center'>Sorry, Improper Access</h1>");

1 个答案:

答案 0 :(得分:1)

看起来你错过了一个幻想

 if ( $year=='2012') || $year=='2013' || $year=='2014')

应该是

 if ( $year=='2012' || $year=='2013' || $year=='2014')

或者也许(但我不明白为什么)

 if (( $year=='2012') || $year=='2013' || $year=='2014')