在php中调用函数时发出错误,该变量未定义

时间:2012-02-11 13:53:55

标签: php function

我在PHP脚本中使用以下代码我试图通过函数calling()调用一组代码。当我调用该函数并运行该脚本时,如果向我显示变量$querydigit未定义的错误。

任何机构都可以告诉我如何在我想要的地方调用那组代码。

<?php 
//$querynum = $_SERVER['QUERY_STRING'];

    function calling()
    {
        if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==1)) {$photoname = '1'; }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==2)) {$photoname = '2';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==3)) {$photoname = '3';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==4)) {$photoname = '4';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==5)) {$photoname = '5';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==6)) {$photoname = '6';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==7)) {$photoname = '7';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==8)) {$photoname = '8';  }
    }


if(isset($_GET['1']))
{
$querydigit = 1;
$photoseries = 8;
$foldername = 'founder';
calling();
}

else if(isset($_GET['2']))
{
$querydigit = '2';
$photoseries = 8;
$foldername = 'founder';
calling;
}
}
?>

1 个答案:

答案 0 :(得分:4)

$ querydigit未在函数范围内定义。 您可以通过以下方式修复它:

 function calling($querydigit) {

然后像这样调用你的函数:

calling($querydigit);

以下是您的代码修复:

   <?php 
//$querynum = $_SERVER['QUERY_STRING'];

    function calling($querydigit)
    {
        if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==1)) {$photoname = '1'; }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==2)) {$photoname = '2';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==3)) {$photoname = '3';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==4)) {$photoname = '4';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==5)) {$photoname = '5';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==6)) {$photoname = '6';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==7)) {$photoname = '7';  }
        else if(isset($_GET[$querydigit]) && ($_GET[$querydigit]==8)) {$photoname = '8';  }
    }


if(isset($_GET['1']))
{
$querydigit = 1;
$photoseries = 8;
$foldername = 'founder';
calling($querydigit);
}

else if(isset($_GET['2']))
{
$querydigit = '2';
$photoseries = 8;
$foldername = 'founder';
calling($querydigit);
}

?>