Adam McGurk
Adam McGurk

Reputation: 476

Pass multiple values through header function

I want to set a message for the user to see in php, but I'm having issues crossing controllers. Here was my first try:

     if($revOutcome > 0){
         $message = "<p>Review updated!</p>";
         header('Location: /acme/accounts/index.php?action=seshLink');
         exit;
     }


And here was my second try:

     if($revOutcome > 0){
         header('Location: /acme/accounts/index.php?action=seshLink&message=Update was successful!');
         exit;
     }

I have an isset in the view that checks if $message is set, and if it is, echo what is displayed in $message. But for some reason, it's not displaying. Here is the code for the view:

<?php
if (isset($message)) {
echo $message;
}
?>

And here is the switch case statement seshLink:
case 'seshLink': $userId = $clientData['clientId']; $revData = getCliRev($userId);

    if(!$revData){
        $message = "<p>No reviews here yet. Write your first one today!</p>";
            include '../view/admin.php';
            exit;
    }
        else {
            $RevDisplay = buildAdminReviewDisplay($revData);
        }

  include '../view/admin.php';
  break;

I really don't know why $message isn't displaying.

Upvotes: 0

Views: 226

Answers (1)

Jorge Campos
Jorge Campos

Reputation: 23361

Because you are making a request call (parameters through url) which means that you need to get your variables using $_GET array like

...
if (isset($_GET["message"]))
   ...

Upvotes: 2

Related Questions