PHP-5.3中未定义变量,但在5.1中有效
我正在将我的网站从旧服务器(MS server 2003、PHP 5.1、IIS 6)迁移到新服务器(MS server 2008 R2、PHP 5.3、IIS 7.5),下面的代码在我的新服务器上为我提供了一个“PHP通知:未定义变量:年份…”,但它在旧服务器上运行良好。我想这是PHP,但是有人能解释一下吗?这里讨论的是$year变量。每次我运行我的表单时,它都会返回“对不起,访问不正确”。非常感谢PHP-5.3中未定义变量,但在5.1中有效,php,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'
<?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>");
看起来您缺少一个并列词
if ( $year=='2012') || $year=='2013' || $year=='2014')
应该是
if ( $year=='2012' || $year=='2013' || $year=='2014')
或者可能(但我不明白为什么)
$year=日期('Y')代码>位于脚本顶部,即使您将设置$year
。很可能与哪个版本的PHP无关,只是不同的值。或者,如果代码实际上运行良好,并且这是文件的顶部,那么您可能一直依赖它(这是一个非常糟糕的主意)。它在php.ini文件中打开了“register\u globals”。感谢IMSoP和所有人抽出时间来帮助我D
if (( $year=='2012') || $year=='2013' || $year=='2014')