Link anzeigen, ohne prefix localhost!?

Ich habe ein kleines Problem.
Habe es schon öfters so gemacht aber leider bekomme ich nur hier den Fehler. Keine Ahnung was ich falsch mache.

PHP:
echo '<a href="'.$k_homepage.'" title="'.$k_homepage.'"><img src="layout/homepage.gif" alt=""></a>';

Es wird z.B. http://localhost/test/www.google.de ausgegeben obwohl nur http://www.google.de ausgegeben werden soll.
An was kann das liegen? Ist das eine Einstellung in PHP?!
 
Da mußte schon mehr von deinem Script zeigen. Woher sollen den wir wissen was in den Variablen drin steht.

Gibt die vorher mal mit echo aus

echo $k_homepage;

Bwz mußte die Pfad ebene wieder rauf mir ../
Es wird z.B. http://localhost/test/www.google.de ausgegeben obwohl nur http://www.google.de ausgegeben werden soll.
An was kann das liegen? Ist das eine Einstellung in PHP?!

Wenn der aktuelle Pfad http://localhost/test ist dann mußte auf Wurzel verzeichnis zurück mit
../../www.google.de

Mfg Splasch
 
Zuletzt bearbeitet:
Wenn du in $k_homepage http://www.google.de stehen hast, dann bin ich sicher, dass das dort auch steht und der Link dorthin führt.

Andernfalls...wenn das Protokoll in $k_homepage fehlt(wovon ich mal ausgehe), dann ermittelt der Browser den Pfad aus der relativen Pfadangabe und der URL des aktuellen Dokuments.


<edit>
Ich nehme mal an, du willst einen Link zu Google und nicht zu einem Verzeichnis namens http://www.google.de auf deinem Server :-)
</edit>
 
also in $k_homepage steht nur http://www.google.de
als title wirds auch richtig angezeigt, nur beim Link baut er den aktuellen pfad noch dazu

und da es sonst nie so war denke ich ist es eine php einstellungssache, falls nicht kann ich auch mehr code posten


Andernfalls...wenn das Protokoll in $k_homepage fehlt(wovon ich mal ausgehe), dann ermittelt der Browser den Pfad aus der relativen Pfadangabe und der URL des aktuellen Dokuments.
ok dann setzte ich mal http dazu und schau obs dann funktioniert!
 
Nein, es ist keine PHP-Einstellungssache. Der Browser denkt sich, bei fehlender Angabe des Protokolls, dass sich das Ziel des a-Tags auf dem selben Server befindet. Daher kommt so eine Ausgabe zu stande.

Das bedeutet, du musst vor der Ausgabe überprüfen, ob dem Link auch ein Protokoll vorangesetzt wurde, ist dies nicht der Fall, musst du händisch das Protokoll bestimmen. Das könntest Du wie folgt machen:
PHP:
$strTest = 'www.google.de';
if(! preg_match('~^https?\:\/\/~', $strTest) )
	$strTest = 'http://'. $strTest;
	
var_dump($strTest);
 
ok dankesehr es hat funktioniet!

@chainy
danke ich habs anders gelöst
beim eintragen überprüft er ob http:// vorhanden ist und speichert es je nach bedarf davor
 
Zurück