PHP aktuelle URL ausgeben?
Hallo,
ich möchte eine komplette URL ausgeben:
http://www.maxmustermann.de/app/test.php?test=wert
<?php
$url = $_SERVER["PHP_SELF"];
echo '<a href='. $url . '>Link 1</a>';
?>
Die paar Codezeilen geben leider nur nur bis zur php Datei an:
2 Antworten
Zu deine Frage: So bekommst du die komplette URL:
echo $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
Um dir das in Zukunft selber raussuchen zu können, solltest du mal ein Script mit folgender Funktion erstellen und aufrufen:
phpinfo();
Das gibt dir die Konfiguration von PHP an und weiter unten unter PHP Variables findest du alle relevanten $_SERVER-Werte.
Da siehst Du die beiden Funktionen (oder wie man die nennt 🤔), die dafür verwendet werden:
$ganzeUrl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
Wenn Du nicht weißt, ob Du http oder https abfragst, geht es auch so:
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
$ganzeUrl = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
} else {
$ganzeUrl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
Den ersten Code hab ich getestet. Der funktioniert. Den Zweiten nicht. Müsste aber klappen.
Ja da ist mir eben beim Übertragen ein Fehler unterlaufen. So schlimm ist das ja nicht.
Also ich denke nicht, dass du den ersten Code getestet hast. Der funktioniert nämlich nicht. Richtig wäre: