【发布时间】:2020-08-18 11:50:32
【问题描述】:
主文件结构(index.php)
<?php
include('functions.inc.php');
include('page.php');
?>
在functions.inc.php文件中我定义了一个函数:
function getServiceAddonButtons($product)
{
global $db;
$service = getServiceVar($product);
$svaddon = $service['svdo_addon'];
if (file_exists('content/addons/'.$svaddon.'/service_buttons/buttons.php') && addon_activated($svaddon) == 'YES') {
include('content/addons/'.$svaddon.'/service_buttons/buttons.php');
}
}
(此文件上的其他函数已经定义并且运行良好)
在 page.php 中我使用了这个函数:
<div class='buttons'>
<?php getServiceAddonButtons($_GET['service_id']); ?>
</div>
当我在 index.php 上时(显示 page.php 因为包含在内)
我使用网址https://example.com/index.php?manage_service=1&service_id=218
问题:似乎每次我在这个页面上,函数getServiceAddonButtons($product)的参数都是空的,但我使用$_GET['service_id']
有人知道如何解决这个问题吗?
【问题讨论】:
-
您是否尝试回显 GET 变量以查看结果?
-
是的,在 page.php 中返回正确的值 (218)
-
您说 'getServiceAddonButtons($product) 为 null' 因为不返回包含 true?或函数中的 $service 变量不起作用?尝试在函数的所有部分中使用 echo 来测试是否需要您想要的变量。你确定存在 $svaddon 文件夹吗?
-
include没有问题,你看:函数中有一个$product参数,即使我用function($_GET['service_id'])定义它也是null
-
如果你在函数前回显
$_GET['service_id']并正确显示(218)不可能为null,问题出在函数中。
标签: php parameters get include parameter-passing