18. juni 2006 - 22:17
Der er
3 kommentarer
Hvordan henter jeg sidens titel fra et array og bruger den?
Hejsa, Jeg har efterhånden rodet mig ud i et par tråde, som jeg ikke længe kan overskue. Jeg prøver lige igen og forfra: Jeg har et array: <?php $validPages = array( 'index', 'dokumenter', 'jura', ); ?> det henter jeg med: <?php if (isset($_GET['p']) && in_array($_GET['p'], $validPages)) { if(file_exists("includes/" . $_GET['p'] . ".txt")) { include("includes/" . $_GET['p'] . ".txt"); } elseif(file_exists("includes/nyheder/" . $_GET['p'] . ".txt")) { include("includes/nyheder/" . $_GET['p'] . ".txt"); } else { include("includes/default.txt"); } } else { include("includes/default.txt"); } ?> Fint nok - det virker. Menuen burde jeg jo generer automatisk, men af forskellige grunde bliver den lavet manuelt således: <li> <a href="index.php?p=forsiden">Forsiden</a></li><br /> <li> <a href="index.php?p=dokumenter">Diverse dokumenter</a></li><br /> <li> <a href="index.php?p=jura">juridisk rådgivning</a></li><br /> Fint nok - det virker. Men ... findes der mon ikke en fiks måde, hvorpå jeg i mit array kan angive hver sides titel, som vil kunne hentes med noget $title i f.eks. index-skabelonens <title<</title> og måske også i de enkelte siders <h1></h1>? Det kunne jo også bruges i forbindelse med noget dynamisk highligt af det valgte menupunkt (så jeg slipper for det her i hvert menupunkt: <li<?php if ($thisPage=="jurabummelum") echo " id=\"currentpage\""; ?>> <a href="index.php?p=juridisk rådgivning">Page One</a></li><br /> med <?php $thisPage="jurabummelum"; ?> i starten af jura-siden) Det er vel noget med sådan noget her: <?php $validPages = array( 'index' => 'Forsiden', 'dokumenter' => 'diverse dokumenter', 'jura' => 'juridisk rådgivning', ); ?> Men hvordan får det det stykket sammen, så skidtet stadig kigger efter filen jura.txt i den pågældende mappe men henter Juridisk Rådgivning de steder, hvor jeg ønsker det? Jeg sender naturligvis venlige tanker og en h
Annonceindlæg fra Computerworld
Geopolitik i cyberspace
Mark Fiedel i Styrelsen for Samfundssikkerhed påpeger behovet for, at Danmark kigger kritisk på leverandørafhængighed.
13. juni 2025
du kan jo lave et 2-dimensionelt array... altså: $validPages[0][0] = "index"; $validPages[0][1] = "Forsiden"; $validPages[1][0] = "dokumenter"; $validPages[1][1] = "Diverse Dokumenter"; $validPages[2][0] = "jura"; $validPages[2][1] = "Juridisk rådgivning"; Så kan du rette det her fra: <?php if (isset($_GET['p']) && in_array($_GET['p'], $validPages)) { if(file_exists("includes/" . $_GET['p'] . ".txt")) { include("includes/" . $_GET['p'] . ".txt"); } elseif(file_exists("includes/nyheder/" . $_GET['p'] . ".txt")) { include("includes/nyheder/" . $_GET['p'] . ".txt"); } else { include("includes/default.txt"); } } else { include("includes/default.txt"); } ?> til: <?php if (isnumeric($_GET['p']) && in_array($_GET['p'], $validPages)) { if(file_exists("includes/" . $validPages[$_GET['p']][0] . ".txt")) { include("includes/" . $validPages[$_GET['p']][0] . ".txt"); } elseif(file_exists("includes/nyheder/" . $validPages[$_GET['p']][0] . ".txt")) { include("includes/nyheder/" . $validPages[$_GET['p']][0] . ".txt"); } else { include("includes/default.txt"); } } else { include("includes/default.txt"); } ?> så ville jeg i stedet for i dine links bruge indexet i arrayet i stedet for sidenavnet.. det vil give dig følgende til menuen... for $i = 0 to count($validPages) { echo "<a href=\"index.php?p=$i\""; if ($i = $_GET['p']) { echo " id=\"currentPage\""; } echo ">$validPages[$i][1]</a><br />"; } sådan ca. har ikke testet, men efter rettelse af et par syntax fejl er det vidst ok... }
Du kan vel noget i stil med: <?php $validPages = array("index" => "Forsiden", "dokumenter" => "Diverse dokumenter", "jura" => "Juridisk rådgivning"); foreach($validPages as $key => $text) { echo"<a href=\"". $_SERVER["PHP_SELF"] ."?p=". $key ."\">". htmlentities($text) ."</a><br />\r\n"; } if(isset($_GET["p"], $validPages[$_GET["p"]])) { echo"<p>". $validPages[$_GET["p"]]; } ?> Og så bruge is_file() da den tjekker om det er en fil
jeg prciserer lige ... Menuen laves manuelt (jeg skal bruge omnkring 6 forskellige lokale menuer til lige så mange fanmeblade), så det eneste jeg skal vide er hvordan jeg henter det navn, jeg har knyttet til filens navn. ras