IMO, albo używasz <form> i w kodzie php $_POST, albo <a> tag i w kodzie php $_GET (pomijam fakt, że kod w przykładzie jest nie do końca prawidłowo "zagnieżdżony")
<li><a href="#">Męskie</a>
<ul>
<li>
<form action="products.php" method="post">
<a href="./products.php">
<?php
$category = 'męskie_bluzy';
$_SESSION['category'] = $category;
?>
Bluzy</a>
</li>
</form>
prawidłowe "ułożenie" tag-ów IMO
<ol>
<li>
<a href="#">Męskie</a>
<ul>
<li>
<form action="products.php" method="post">
<a href="./products.php">
<?php
$category = 'męskie_bluzy';
$_SESSION['category'] = $category;
?>
Bluzy
</a>
</form>
</li>
</ul>
</li>
</ol>
P.S z użyciem <form> np.:
<?php
$post = $_POST || null;
if ($post) {
var_dump($_POST); // dla demonstracji
if (!empty($_POST['category'])) {
$category = filter_input(INPUT_POST, 'category', FILTER_SANITIZE_STRING);
$_SESSION['category'] = $category = htmlspecialchars($category, ENT_QUOTES, 'UTF-8');
var_dump($_POST['category'], $_SESSION['category'], $category); // dla demonstracji
}
}
// tablica asocjacyjna - symulacja pobrania danych z bazy danych
// do utworzenia menu
$nawigacja = [
'Kategoria1' => [
'Podkategoria1.1' => 'link1_1',
'Podkategoria1.2' => 'link1_2',
'Podkategoria1.3' => 'link1_3',
],
'Kategoria2' => [
'Podkategoria2.1' => 'link2_1',
'Podkategoria2.2' => 'link2_1',
],
'Kategoria3' => [
'Podkategoria3.1' => 'link3_1',
'Podkategoria3.2' => 'link3_2',
'Podkategoria3.3' => 'link3_3',
],
];
$menu = '<form action="products.php" method="post"><ol>';
foreach ($nawigacja as $kategoria => $podkategorie) {
$menu .= '<li>' . $kategoria;
if (is_array($podkategorie)) {
$menu .= '<ul>';
foreach ($podkategorie as $podkategoria => $link) {
$menu .= '<li><button type="submit" name="category" value="' . $link .'">' . $podkategoria . '</button></li>';
}
$menu .= '</ul>';
}
$menu .= '</li>';
}
$menu .= '</ol></form>';
?>
<style>
/* dla demonstracji */
button[type="submit"] {
background: none;
border: none;
padding: 0;
font: inherit;
color: inherit;
cursor: pointer;
text-decoration: underline;
}
</style>
<?php echo $menu; ?>