Sto utilizzando il template PHP (un semplice sito) pubblicato in questo sito al quale vorrei applicare alcuni meta tag dinamici a seconda delle pagine caricate. A tale scopo ho creato un file config.php richiamato sopra l'header del template.
Le URL del sito sono riscritte con mod_rewrite in htaccess, pertanto per il caso in oggetto
sagre.php?pagina=notizie-delle-sagre-2015&sezione=sagra-delle-cozze
viene riscritta così
/sagre/notizie-delle-sagre-2015/sagra-delle-cozze/
per rendere dinamici i meta tag ho utilizzato uno switch che funziona benissimo per l'URL /sagre/notizie-delle-sagre-2015/ ed un altro switch per l'URL /sagre/notizie-delle-sagre-2015/sagra-delle-cozze/ che non funziona in quanto non sono riconosciute più le variabili $titlebrowser, $description e $keywords e di conseguenza viene visualizzato questo errore:
<title><br />
<b>Notice</b>: Undefined variable: titlebrowser in <b>c:\programmi\easyphp1-8\www\notizie\include\template\header.php</b> on line <b>7</b><br />
</title>
<meta name="description" content="<br />
<b>Notice</b>: Undefined variable: description in <b>c:\programmi\easyphp1-8\www\notizie\include\template\header.php</b> on line <b>11</b><br />
" />
<meta name="keywords" content="<br />
<b>Notice</b>: Undefined variable: keywords in <b>c:\programmi\easyphp1-8\www\notizie\include\template\header.php</b> on line <b>12</b><br />
" />
Inoltre il tag <h2><?php echo ucfirst($pagina) ?></h2> nella pagina richiamata di default (notizie-brevi-sagre) visualizza correttamente il titolo come "notizie delle sagre 2015" mentre quando viene richiamata la pagina "sagra delle cozze", il titolo visualizzato diventa "notizie delle sagre 2015/sagra delle cozze"
Non riesco a capire come risolvere questi problemi . Se qualcuno mi potesse aiutare, ne sarei molto grato.
Posto il codice in uso:
config.php
Codice: Seleziona tutto
<?php
$pagina = isset($_GET["pagina"]) ? $pagina=$_GET["pagina"] : $pagina="home";
switch ($pagina) {
case ($pagina == "home"):
$titlebrowser = "sagre 2015";
$description = "notizie, informazioni, aggiornamenti sulle sagre 2015.";
$keywords = "";
break;
case ($pagina == "notizie-delle-sagre-2015"):
$titlebrowser = "notizie delle sagre 2015";
$description = "notizie, informazioni, aggiornamenti sulle sagre 2015.";
$keywords = "";
break;
}// fine switch
$subpagina = isset($_GET["sezione"]) ? $sezione=$_GET["sezione"] : $sezione="notizie-brevi-sagre";
if($pagina == "notizie-delle-sagre-2015") {
switch ($subpagina) {
case ($subpagina == "sagra-delle-cozze"):
$titlebrowser = "sagra delle cozze";
$description = "notizie, informazioni, aggiornamenti sulla sagra sagra delle cozze.";
$keywords = "";
break;
}// fine switch
}// fine IF
Ho provato anche in questo modo ...
switch ($subpagina) {
case 'sagra-delle-cozze':
require_once __DIR__ . '/pagine/sagre/notizie-delle-sagre-2015/sagra-delle-cozze.php';
$titlebrowser = "sagra delle cozze";
$description = "notizie, informazioni, aggiornamenti sulla sagra sagra delle cozze.";
$keywords = "";
break;
}// fine switch
... e in questo modo:
$subpagina = isset($_GET["sezione"]) ? $sezione=$_GET["sezione"] : $sezione="notizie-brevi-sagre";
if($pagina == "notizie-delle-sagre-2015" && $sezione == "sagra-delle-cozze") {
$titlebrowser = "sagra delle cozze";
$description = "notizie, informazioni, aggiornamenti sulla sagra sagra delle cozze.";
$keywords = "";
}
ma niente di fatto.
?>
Codice: Seleziona tutto
<?php
$server = "http://localhost/demo-wikislacky";
?>
<!DOCTYPE html>
<html lang="it">
<head>
<title><?php echo $titlebrowser; ?></title>
<meta name="description" content="<?php echo $description; ?>" />
<meta name="keywords" content="<?php echo $keywords; ?>" />
</head>
<body>
<h1>Sagre paesane</h1>
<hr />
<ul><?php
$vocimenu=array("home","notizie-delle-sagre-2015","notizie-delle-sagre-2014","notizie-delle-sagre-2013");
foreach($vocimenu as $voce) {
echo "
<li>";
if($pagina!=$voce)
echo '<a href="'.$server.'/sagre/'.$voce.'/">';
echo $voce;
if($pagina!=$voce) echo "</a>";
echo "</li>";
}
echo "\n";
?>
</ul>
<hr />
<h2><?php echo ucfirst($pagina) ?></h2>
<?php include("pagine/sagre/$pagina.php") ?>
</body>
</html>
Codice: Seleziona tutto
<?php
include("notizie-delle-sagre-2015/$sezione.php");
?>