# Wie kann ich die aktuelle URL ausgeben, mit $_SERVER['PHP_SELF'] wird zu wenig ausgeg



## son gohan (30. Dezember 2006)

Hi, mit <?php echo $_SERVER['PHP_SELF'] ?> wird ja nur ein Unterverzeichnis und der Dateiname ausgegeben, wie kann ich aber die komplette URL ausgeben ?


----------



## cameeel (30. Dezember 2006)

```
$url = $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
```

Das dürfte deine Wünsche erfüllen.


----------



## son gohan (30. Dezember 2006)

komisch, bei den ersten zwei Versuchen hat es anscheinden geklappt und jetzt aufeinmal steht da wieder nur das Verzeichnis und der Dateiname wenn ich <?php echo getenv("HTTP_REFERER"); ?> schreibe.

Weis jemand auch noch zufällig mit Welcher php Funktion man Parameter an der URL bearbeiten muss damit die richtig ankommen, da gibts wieder so viele ich weis nicht welche ich nehmen soll?


----------



## Sven Mintel (30. Dezember 2006)

*$_SERVER['REQUEST_URI']*


----------



## Gumbo (30. Dezember 2006)

Genügt dir denn der URL-Pfad des Skriptes? Oder soll es der URL-Pfad des angeforderten URLs sein, also samt Query String? Denn dann solltest du auf die „REQUEST_URI“-Umgebungsvariable zurückgreifen:
	
	
	



```
'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']
```


----------



## son gohan (30. Dezember 2006)

Ach ne warte, <?php echo getenv("HTTP_REFERER"); ?> klapt doch!

Hm, bei 
	
	
	



```
$url = $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
```
 fehlt das http:// Anhängsel, warum nicht bei <?php echo getenv("HTTP_REFERER"); ?> bleiben?

//edit

Also wie gesagt, mit 
	
	
	



```
<?php echo getenv("HTTP_REFERER"); ?>
```
 klapt es schon so wie ich es brauche, aber gibt es den irgendein Nachteil bei der Variante?


Und wie sollte man Parameter formatieren an URLs, ich will z.B. den Satz: "Bekämpfen Sie Ihre Allergie" als Parameter weitergeben, der Satz wird mit urlencode() bearbeitet und sieht dann so aus: 
	
	
	



```
Bek%E4mpfen+Sie+Ihre+Allergie
```
, bei mister Wongs Bookmars wo ich den hinschicke, steht dann aber 
	
	
	



```
Be?mpfen Sie Ihre Allergie
```
 also anstatt Ä steht dort ein ? Zeichen, also muss man das irgendwie anders formatieren?


----------



## Sven Mintel (30. Dezember 2006)

HTTP_REFERER gibt dir nicht die aktuelle Adresse, sondern die Adresse der Herkunftsseite(falls vorhanden)...von wo aus man also zur aktuellen Seite gelangt ist.


----------



## son gohan (30. Dezember 2006)

Danke für den Hinweis!!
dann nehm ich doch das hier 
	
	
	



```
'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']
```

Hat noch jemand ein Tip für die Parameter in den URL´s mit welcher Funktion man die formatieren muss?


----------

