无法在include_once中使用GET参数

spi*_*man 3 php

当我在没有任何GET参数的情况下调用include时它可以工作但是在trackinglogs.php上设置GET参数没有任何反应请建议我做什么...

我的PHP代码是:firstfile.php

include_once('trackinglogs.php?todo=setcookie');
?>
Run Code Online (Sandbox Code Playgroud)

我的第二个文件是trackinglogs.php

<?php
    $action=$_GET['todo'];
    switch($action)
{
    case "setcookie":
    echo "hi";die();
    break;

    default:
    echo "error"; die();
    break;
}

?>
Run Code Online (Sandbox Code Playgroud)

谢谢你宝贵的时间

Jon*_*Jon 5

如果包含这样的参数,则无法传递参数,include也不会发出HTTP请求.

尽管我不推荐,最简单的解决方案是自己设置参数,以便trackinglogs.php找到它们:

$_GET['todo'] = 'setcookie';
include_once('trackinglogs.php');
Run Code Online (Sandbox Code Playgroud)

一个更好的解决方案是将跟踪日志的代码放在一个函数中,并调用它同时提供这个操作参数.所以你有类似的东西:

<?php    
function track($action) {
    switch($action) {    
        case "setcookie":    
        echo "hi";die();    
        break;    

        default:    
        echo "error"; die();    
        break;    
}    
Run Code Online (Sandbox Code Playgroud)

你会这样做:

include_once('trackinglogs.php');
track('setcookie');
Run Code Online (Sandbox Code Playgroud)