about?sidebar=on
mi dovrebbe richiamare la template che ha la sidebar .
vi posto alcuni codici:
Prima vorrei dire che layout e pages php sono classi che ho fatto io. ma fanno solamente fare degli include e stampare il titolo al browser.
Codice: Seleziona tutto
<?php
include('inc.php');
include('data/pages.php');
include("classs/class.layout.php");
$layout = new Layout;
$url = (isset($_GET["url"])) ? trim ((string)$_GET["url"]): 'home';
if(empty($url))
{
$title = "Accesso non consentito";
$layout->setTitle($title);
$layout->startBody();
echo "<div id=\"f\"><!-- Inizio f -->\n";
echo "<div id=\"pages\"><!-- Inizio Pages -->\n";
echo "<h1 class='center'>?</h1>";
echo "</div><!-- Fine pages -->\n";
echo "</div><!-- Fine f -->\n";
$layout->endBody();
echo $layout->render("layout/template.php");
}else
{
if(preg_match("/^[a-z0-9-_]+$/i", strtolower($url)))
{
if(file_exists(strtolower("./pages/".strtolower($url).".php")))
{
if (array_key_exists(''.$url.'', $arrPages))
{
$title = $arrPages[''.strtolower($url).''];
}else
{
$title = "";
}
$layout->setTitle($title);
$layout->startBody();
echo "<div id=\"f\"><!-- Inizio f -->\n";
echo "<div id=\"pages\"><!-- Inizio Pages -->\n";
include("./pages/".strtolower($url).".php");
echo "</div><!-- Fine pages -->\n";
echo "</div><!-- Fine f -->\n";
$layout->endBody();
if(empty($_GET["sidebar"]) == 'on'){
echo $layout->render("layout/template.php");
}else {
echo $layout->render("layout/template_sidebar.php");
}
}else
{
$title = "404 not found";
$layout->setTitle($title);
$layout->startBody();
echo "<div id=\"f\"><!-- Inizio f -->\n";
echo "<div id=\"pages\"><!-- Inizio Pages -->\n";
echo "<h1 class='center'>Pagina non trovata</h1>";
echo "</div><!-- Fine pages -->\n";
echo "</div><!-- Fine f -->\n";
$layout->endBody();
echo $layout->render("layout/template.php");
}
}else
{
$title = "?";
$layout->setTitle($title);
$layout->startBody();
echo "<div id=\"f\"><!-- Inizio f -->\n";
echo "<div id=\"pages\"><!-- Inizio Pages -->\n";
echo "<h1 class='center'>?</h1>";
echo "</div><!-- Fine pages -->\n";
echo "</div><!-- Fine f -->\n";
$layout->endBody();
echo $layout->render("layout/template.php");
}
}
?>
Codice: Seleziona tutto
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
ErrorDocument 400 /errors/error.php
ErrorDocument 401 /errors/error.php
ErrorDocument 403 /errors/error.php
ErrorDocument 404 /errors/error.php
ErrorDocument 500 /errors/error.php
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.+) /index.php?url=$1 [L]
</IfModule>
grazie mille.
EDIT: ho fatto anche cosi:
Codice: Seleziona tutto
switch ((isset($_GET['s']) ? $_GET['s'] : '')) {
case 'on':
echo $layout->render("layout/template_sidebar.php");
break;
default:
echo $layout->render("layout/template.php");
break;
}