Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Fix this PHP code for 1,500 points My php code below is fully functional, but at

ID: 642751 • Letter: F

Question

Fix this PHP code for 1,500 points

My php code below is fully functional, but at the bottom of it there is a globals function

Please Remove the globals function without breaking the program

our teacher said we are not allowed to use the globals function for this class.

< ?php
        $orderId = "";
        $itemId = "";
        $qtyOnHand = 0;
        $qtyRequested = 0;

        $qtyShipped = 0;
        $qtyBackOrdered = 0;
        $message = "";
      
        $fship = null; ///
        $fbo = null; ///

printf(" Enter the order id or (0) exits program: " );
fscanf(STDIN, "%s", $orderId);
while($orderId != "0")
{
     printf(" Enter the item id or (0) exit order: " );
     fscanf(STDIN, "%s", $itemId);
     while($itemId != "0")
     {
      printf(" Enter Qty On Hand: ");
      fscanf(STDIN, "%s", $qtyOnHand);
      printf(" Enter Qty Requested: ");
      fscanf(STDIN, "%s", $qtyRequested);
     
      DoCalcs($qtyOnHand,$qtyRequested, $qtyShipped, $qtyBackOrdered, $message);

      printf($message); ///
     
      PrepFiles($fship, $fbo); ///
      WriteFiles($qtyOnHand, $qtyRequested, $qtyShipped, $qtyBackOrdered, $message); ///
     
      printf(" Enter the item id or (0) exit order: " );
      fscanf(STDIN, "%s", $itemId);
    }
    printf(" Enter the order id or (0) exits program: " );
    fscanf(STDIN, "%s", $orderId);
}
fclose($fship);
fclose($fbo);
//fscanf(STDIN, "%s", $buster);
// end mainline

function PrepFiles(&$fship, &$fbo)
{
    printf(" PrepFiles");
    $fship = fopen("shipped.txt", "w") or die("no shipped for you");
    fprintf($fship, "     SHIPPED ");
    fprintf($fship, " Order Id    Item Id Qty Shipped   Message ");
   
    $fbo = fopen("backorder.txt", "w") or die("no shipped for you");
    fprintf($fbo, "     BACK ORDER ");
    fprintf($fbo, " Order Id    Item Id Qty Back Ordered ");
}

function DoCalcs($qtyOnHand,$qtyRequested, &$qtyShipped, &$qtyBackOrdered, &$message)
{
                printf(" DoCalcs "); ///
                if($qtyRequested <= $qtyOnHand) {
                        $qtyShipped = $qtyRequested;
                        $qtyBackordered = 0;
                        $message = "Fully Filled";
                } else {
                        if($qtyOnHand !=0)
                        {
                                $qtyShipped = $qtyOnHand;
                                $qtyBackOrdered = $qtyRequested - $qtyOnHand;
                                $message = "Partially Filled";
                        } else {
                                $qtyShipped = 0;
                                $qtyBackOrdered = $qtyRequested;
                                $message = "Out of Stock";
                        }
                } }
        function WriteFiles($qtyOnHand,$qtyRequested, &$qtyShipped, &$qtyBackOrdered, &$message) {
                global $fship, $fbo, $orderId, $itemId; ///
                printf(" WriteFiles "); ///
                fprintf($fship, "$orderId          $itemId          $qtyShipped          $message "); ///
                fprintf($fbo, "$orderId            $itemId            $qtyBackOrdered ");
        }

?>

Explanation / Answer

<?php
// mainline

// input vars
$orderId = "";
$itemId = "";
$qtyOnHand = 0;
$qtyRequested = 0;

// calc vars
$qtyShipped = 0;
$qtyBackOrdered = 0;
$message = "";

//PrepFiles($fship, $fbo);

printf(" Enter the order id or (0) exits program: " );
fscanf(STDIN, "%s", $orderId);
while($orderId != "0")
{
printf(" Enter the item id or (0) exit order: " );
fscanf(STDIN, "%s", $itemId);
while($itemId != "0")
{
printf(" Enter Qty On Hand: ");
fscanf(STDIN, "%s", $qtyOnHand);
printf(" Enter Qty Requested: ");
fscanf(STDIN, "%s", $qtyRequested);

DoCalcs($qtyOnHand,$qtyRequested, $qtyShipped, $qtyBackOrdered, $message);

//WriteFiles();

printf(" Enter the item id or (0) exit order: " );
fscanf(STDIN, "%s", $itemId);
}
printf(" Enter the order id or (0) exits program: " );
fscanf(STDIN, "%s", $orderId);
}
fclose($fship);
fclose($fbo);
//fscanf(STDIN, "%s", $buster);
// end mainline

function PrepFiles(&$fship, &$fbo)
{
printf(" PrepFiles");
$fship = fopen("shipped.txt", "w") or die("no shipped for you");
fprintf($fship, " SHIPPED ");
fprintf($fship, " Order Id Item Id Qty Shipped Message ");

$fbo = fopen("backorder.txt", "w") or die("no shipped for you");
fprintf($fbo, " BACK ORDER ");
fprintf($fbo, " Order Id Item Id Qty Back Ordered ");
}