Hallo ,
jetzt wird es aber ganz konfus.
Zunächst mal: Das ist PHP, nicht Visual BASIC. me
im Sinne von "dieses Objekt hier" gibt es nicht.
Ansonsten ist Dir immer noch nicht klar, was eigentlich abläuft.
PHP verarbeitet eine PHP Datei von oben nach unten. Alles, was innerhalb einer Funktion oder Klasse steht, wird erstmal nur gespeichert und erst dann ausgeführt, wenn die Funktion oder eine Methode der Klasse aufgerufen wird. Sowas hatten wir mit Dir schon öfter gemacht, ich dachte, das wäre so weit klar.
Alles, was NICHT in einer Funktion oder Klasse steht, wird sofort ausgeführt. Dein Script würde also zweimal hintereinander $me = me;
ausführen. Auch in Visual BASIC würde $me danach immer den zweiten me-Wert haben, und das willst Du ja nicht.
Deine $love - $hallo Funktion musst Du von irgendwo aufrufen, sonst wird sie nicht ausgeführt. Tust du das?
Aber auch wenn Du das tust - es wird nichts nützen. Das Programm darin kann nicht funktionieren.
$hallo = $me;
foreach ($hallo as $love)
{
if ($love == $hallo)
{
}
}
-
Deine Idee war doch, dass in $me ein Link-Element steht (WENN das denn funktionieren würde). Ein einzelnes Link-Element kann man aber nicht mit foreach verarbeiten. foreach braucht ein Array[1]
-
if ($hallo == $love) kann niemals wahr sein. Ein Array kann nicht das gleiche sein wie ein Element dieses Arrays.[2]
Ich möchte ja nicht alles für Dich schreiben. Deine Beispielseiten haben das <nav> Element bestimmt fest eingebaut. Das heißt: Du kannst in beispiel-1.php das aria-current="page" an das erste <a> schreiben und in beispiel-2.php schreibst Du das an das zweite <a>. Du brauchst keine Programmlogik.
Alles was ich jetzt noch schreibe ist für die Zukunft:
Aber das wird nicht so bleiben. Wenn man eine Website aus 10 Seiten hat, dann schreibt man die Navigation nur einmal und holt sie mit include oder require auf die Seiten. In der mit include geholten Datei brauchst Du dann Programmlogik, weil sie erkennen muss, auf welcher Seite sie eingesetzt wird.
Wenn man gemeinsame Teile einer Webseite nur einmal schreiben will, kann man das zum Beispiel so machen: Du hast eine Datei header.php, und Seiten wie auto.php, essen.php, haus.php oder kontakt.php. Alle diese Seiten sehen ähnlich aus:
<?php
require 'header.php';
?>
<main>
<h2>Tolle Autos</h2>
...
</main>
<?php
require 'footer.php';
?>
In header.php und footer.php steht alles, was auf den Seiten gemeinsam ist. Der Header zum Beispiel so:
<!DOCTYPE html>
<html>
<head>
(alles, was du im head brauchst)
</head>
<body>
<header>
(dein Seiten-Header)
</header>
<nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a href="autos.php">Tolle Autos</a></li>
<li><a href="essen.php">Leckeres Essen</a></li>
<li><a href="haus.php">Schöne Häuser</a></li>
<li><a href="kontakt.php">Schreibe mir!</a></li>
</ul>
</nav>
Und footer.php so:
<footer>
Dein Footer-Inhalt
</footer>
</body>
</html>
Wie gesagt, das ist ein BEISPIEL, das musst Du für deine Anwendung anpassen.
Der <nav> Bereich ist hier das interessante. Das header.php muss wissen, von wo es geladen wurde, und damit entscheiden, welcher Link die aktuelle Seite ist. Er kann das auf unterschiedliche Art erfahren. Eine einfache Möglichkeit ist, dass die Seiten vor dem require eine Variable setzen:
<?php
$current_page = "autos";
require 'header.php';
?>
In header.php steht dann:
…
<nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>
<li><a <?php if ($current_page=="autos"): ?>aria-current="page" <?php endif ?> href="autos.php">Tolle Autos</a></li>
<li><a <?php if ($current_page=="essen"): ?>aria-current="page" <?php endif ?> href="essen.php">Leckeres Essen</a></li>
<li><a <?php if ($current_page=="haus"): ?>aria-current="page" <?php endif ?> href="haus.php">Schöne Häuser</a></li>
<li><a <?php if ($current_page=="kontakt"): ?>aria-current="page" <?php endif ?> href="kontakt.php">Schreibe mir!</a></li>
</ul>
</nav>
Das ist nicht schön, aber so bekommt genau eine Link das aria-current Attribut. Um das lesbarer zu machen, würde man ein PHP Array für die Links verwenden und eine Funktion aufrufen, die den Link erzeugt. Das geht jetzt aber zu weit.
Rolf
sumpsi - posui - clusi