Gestione titolo pagine in PHP e MySQL
Salve a tutti,
mi rivolgo a voi non per un problema, ma per qualche consiglio utile da utilizzare.
Sto facendo un sito che ha in tutte le pagine una sola pagina header, in modo che, se dovessi fare qualche modifica al codice di una pagina, non debba scrollare tutta la pagina dell'editor, e siccome non c'è la possibilità in HTML di fare diversi titoli per diverse pagine in un unico header, ho subito pensato a gestirlo tutto in PHP (un po' come avviene con Wordpress).
Quello che ho fatto immediatamente è di creare una tabella "Pagine" con i campi "ID" (INT 11, Auto Increment), "Titolo" (VARCHAR 255) e "Url" (TEXT), ho inserito già una riga e ho iniziato a scrivere il codice PHP in un nuovo file chiamato "titolo.php", che verrà incluso nell'header con include. Questo è quello che ho fatto all'inizio:
Codice PHP:
<?php
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$query="SELECT ID, Titolo FROM Pagine WHERE Url=$url";
$res=mysql_query($query);
if($res && mysql_num_rows($res)>0){
while($row=mysql_fetch_assoc($res)){
$titolo=$row['Titolo']."";
?>
<title>Nome sito - <?php echo $titolo; ?></title>
<?php }
} else {?>
<title>Nome sito - No Titolo</title>
<?php }
?>
Il problema è che mi da il risultato dell'else, quindi è come se non avesse trovato nulla.
Poi ho pensato. Siccome lavoro su una cartella e accedo con /nomecartella/ e non con /nomecartella/index.php (come avevo inserito nella colonna "Url", ho aggiunto un nuovo campo "Url2" con le stesse caratteristiche del campo "Url" e ho rinominato quest'ultimo in "Url1", ho modificato la query in "SELECT ID, Titolo FROM Pagine WHERE Url1=$url OR Url2=$url", ma il risultato non cambia.
Inoltre, proprio in questo momento stavo cercando una soluzione per gli index delle cartelle e del root, in modo che, anche se si scrive /nomecartella/index.php, mi vada in /nomecartella/ e lo stesso con /index.php che vada in /. Cosa posso fare?
Ringrazio in anticipo per qualsiasi risposta. :)