如何为 2 个函数使用 PHP 全局变量?

How to use PHP global variable for 2 functions?

我正在尝试创建一个界面,用户创建创意工坊描述后可以在服务器上对其进行更新。有一个文本字段和一个按钮,可以通过分配的编号调出研讨会。 (这也是服务器上 submissions/workshop# 中目录的名称)。当我使用此方法设置变量 $workshopPath 时,我希望能够在用字符串填充文本输入时访问此全局变量以更新研讨会的标题。 $workshopPath 在 'updateTextItems' 函数中注册为空字符串,因此它将文本文件写入根目录而不是正确的 workshop 目录。我以为我在函数中正确引用了全局变量,但这不起作用。我也尝试使用 $GLOBALS['workshopPath'],但这也不起作用。有人可以帮我弄清楚如何将变量传递给第二个函数吗?谢谢:-)

<?php

$workshopPath;

if (isset($_POST['gotoWorkshop'])) {
  if (empty($_POST['numberInput'])) {
    echo "Please enter a valid workshop number";
  } else { //Assign the name variable form the posted field info if one was entered.
    $workshopNumber = stripslashes($_POST['numberInput']);
    global $workshopPath;
    $workshopPath = "submissions/" . $workshopNumber . "/";
  }
}

if (isset($_POST['updateTextItems'])) {
  if ($_POST['titleInput']) {
    //Assign the name variable form the posted field info if one was entered.
    $titleInput = stripslashes($_POST['titleInput']);
  }
  
  if ($titleInput) {
    global $workshopPath;
    $titleFile = fopen($workshopPath . "title.txt", "w") or die("There was an error creating the title file.");
    fwrite($titleFile, $titleInput);
    fclose($titleFile);
  }
}

?>

我的理解对吗?用户填写研讨会的表格点击提交并获得文本的其他表格?我的猜测是您发送了对服务器的请求。所以 $GLOBAL 不适合你。它只适用于每个请求,我认为大多数时候你并不真正需要它。如果要跨请求保存一些值,则在启动会话时需要一个会话。使用 session_start() 开始会话后,您可以使用 $_SESSION[] 来存储和获取您的值