Was jetzt nicht funktioniert, ist das korrekte Auslesen des übergebenen
Parameters:
echo '<a href="' . $_SERVER["PHP_SELF"] . '?Aktion='Titel_suchen'">';
$Aktion = $_REQUEST['$Aktion'];
Das ist hoffentlich ein Tippfehler und nicht die Auswirkung der völlig nutzlosen PHP-Eigenart, in Zeichenketten Variablen auszuwerten. Dein Parameter liegt in $_REQUEST['Aktion'], nicht $_REQUEST['$Aktion'].
Ich find's auch besser, $_GET zu verwenden, wenn man URL-Parameter erwartet, aber das ist eher kosmetischer Natur.
echo $Aktion;
Falls diese Zeile nicht der Fehlersuche dient: Von außen kommende Daten vor der Ausgabe immer, immer, immer durch htmlspecialchars() oder htmlentities() jagen. Im Momemt ist es ein Leichtes, deiner Seite beliebigen HTML- oder Javascript-Code unterzujubeln, einfach durch Übergabe im Parametet Aktion.