Why does not my switch generate the correct results? [closed]

1

I'm using a condition and a switch to determine some values for some variables, but I'm not getting the expected results.

When the <a href="index.php?post=myFile"></a> link is clicked, I expect to run the first case on the switch, but the desired variables are not overwritten.

This is my code that is in my file called index.php.

$titulo = '';
$keywords = '';
$descricao = '';
$post = empty($_GET['post']) ? '' : $_GET['post'];
$pagina = empty($_GET['p']) ? '' : $_GET['p'];

if ($post != '' || ($post == '' && $pagina != '')) {
    switch ($pagina):
    case 'myFile':
        $titulo = 'esta variável não muda o valor para esse arquivo';
        $keywords = 'esta variável não muda o valor para esse arquivo';
        $descricao = 'esta variável não muda o valor para esse arquivo';
        break;
    case 'home':
        $titulo = 'Página Inicial';
        break;
    case 'ultimasnoticias':
        $titulo = 'Ultimas Noticias';
        break;
    case 'contato':
        $titulo = 'Contato';
        break;
    case 'privacidade':
        $titulo = 'Privacidade';
        break;
    default:
        $titulo = 'Home';
        $pagina = 'home';
    endswitch;
} else {
    $titulo = 'Post';
}
<html>
<head>
<title><?php echo $titulo; ?></title>
<meta name="keywords" content="<?php echo $keywords; ?>">
<meta name="description" content="<?php echo $descricao; ?>">
</head>
<body>

    <?php
    if (empty($post)) {
    require_once 'page_' . $pagina . '.php';
    } else {
        require_once 'posts/' . $post . '.php';
    }
    ?>

<footer>Rodapé</footer>
</body>
</html>

My current results are:

$_GET["post"] = "myFile";
$_GET["p"] = NULL;
$titulo = "Home";
$keywords = "";
$descricao = "";
$pagina = "home";

My desired results are:

$_GET["post"] = "myFile";
$titulo = 'esta variável não muda o valor para esse arquivo';
$keywords = 'esta variável não muda o valor para esse arquivo';
$descricao = 'esta variável não muda o valor para esse arquivo';
$pagina = "home";

Why can not I update the value of variables using the first statement of case ? In short, the values of my case do not change only for files that are in a sub-directory

This is the code I use for my other links, which are in my home directory:

<nav>
   <ul>
     <li><a href="?p=home">Início</a></li>
     <li><a href="?p=ultimasnoticias">Últimas Notícias</a>
     <li><a href="?p=contato">Contato</a></li>
  </ul>
</nav>

Note: I'm not sure if the image below will help with something, but via the doubts I put:

    
asked by anonymous 02.09.2018 / 17:31

0 answers