Hallo,

even een kort vraagje waar ik niet uitkom..

ik probeer voor mijn Pagina titles een oplossing te bedenken. waarbij ik op elke pagina de juiste titel te zien krijg.

nu heb ik bedacht deze zet ik in een ini file en ik lees deze uit bij elke pagina waar ik zit. dus dan krijg ik iets als

[title]
[title]
main.php = "HOME | Reshad F Portfolio"
about.php = "ABOUT | Reshad F Portfolio"
portfolio.php = "PORTFOLIO | Reshad F Portfolio"
tips.php = "TIPS AND TRICKS | Reshad F Portfolio"

en deze haal ik zo op: (wat overigens gewoon werkt)

<?php

if (file_exists("index.ini") && is_array($title = parse_ini_file("index.ini", true)))
{
if (array_key_exists("title", $title))
{
foreach ($title["title"] as $basename => $title)
{
if(isset($_GET['page']) and $_GET['page'] == $basename)
{
echo $title;
}
}
}
}
?>

maar nu heb ik natuurlijk ook bijvoorbeeld links die mijn scriptjes automatisch maken bijv als ik een artikeltje heb o.i.d.
en ik kan hier moeilijk voor elke artikel een title maken ( omdat deze dynamisch aangemaakt worden )

dus ik dacht dan geef ik die artikeltjes gewoon iets van vaste text en deze zet ik in de else maar mijn denkwijze klopt hier niet want als ik die else erin zet dan krijg ik helemaal geen title die ik daar krijgen moet maar de path..

<?php

else
{
echo 'lorem ipsum';
}

?>

weet iemand waarom dit zo is en hoe ik het wel zou kunnen krijgen?
al apart dat je je pagine doorkrijgt met $_GET['page']. Dus dan heb je zoiets als:
www.website.com/page.php?page=page.php

<?php
  
if (file_exists("index.ini") && is_array($title = parse_ini_file("index.ini", true)))
{
    if (array_key_exists("title", $title))
    {
        foreach ($title["title"] as $basename => $title)
        {
            if(isset($_GET['page']) and $_GET['page'] == $basename) // <-- ????
            {
              $html_title = $title;
            }
        }
				if (empty($html_title)) {
					// standaard titel als deze niet gevonden kan worden in de ini
					$html_title = 'Article';
				}
				echo $html_title;
    }
}
?>
Waarom doe je deze foreach loop:
<?php
foreach ($title["title"] as $basename => $title)
{
if(isset($_GET['page']) and $_GET['page'] == $basename)
{
echo $title;
}
}
?>
Als $title['title'] een array is en je weet de key (dat moet namelijk $_GET['page'] zijn, dan doe je gewoon dit:
<?php
echo (isset($title['title'][$_GET['page']])? $title['title'][$_GET['page']]: 'lorem ipsum';
?>

Reageren