2k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von bugg Einsteiger_in (25 Punkte)
Hallo zusammen,

hätte da eine Frage zum erstellen eines Links, hab schon einige Foren und Tutorials durch aber nichts passendes gefunden...ist wahrscheinlich nur eine Kleinigkeit.
Wie kann ich einen Link generieren der auf die Seite verweist in der das Protokoll ausgeführt wird? Bisher habe ich folgendes versucht:

<div align="left"><span class="mail"><p>Sie haben folgende Angabe vergessen einzutragen: Name.</span> <a href="/<?php echo $_SERVER["PATH_TRANSLATED"]; ?>" title="zurück">zurück</a></p></div>


Der generierte Link führt aber nur auf die Domain (http://www.meinedomain.de)

bei
$_SERVER["SELF_PHP"]
erhalte ich nur den namen des php dokuments...

Kann man dies irgendwie verknüpfen oder gibt es eine Variable die den kompletten Pfad enthält?

Vielen Dank!

8 Antworten

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Der generierte Link ist entweder leer oder ein aus einem Zeichen bestehender absoluter.
Du interessierst dich für die Dokumentation des Felds $_SERVER.
0 Punkte
Beantwortet von bugg Einsteiger_in (25 Punkte)
Diese Seite hab ich auch schon gefunden, allerdings hat mich keine der Variablen weiter gebracht, ich erhalte immer nur die Domain Adresse oder den Script Namen. Muss ich hier vielleicht mit _FILE_ arbeiten und wie würde so etwas aussehen?
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Du musst doch wissen, was du willst. Grundsätzlich: geht es um den Pfad auf dem Server (sprich Dateisystem) oder dem nach außen sichtbarem Pfad (sprich URL)? Weiterhin wäre ein Beispiel nett, wie die Start-URL aussieht und wie die Ziel-URL nach deinen Wünschen aussehen soll.
0 Punkte
Beantwortet von bugg Einsteiger_in (25 Punkte)
Achso, also Sinn und Zweck des ganzen ist es nach der fehlerhaften Eingabe in ein Formular eine kurze Meldung (siehe Code oben) zu erhalten, mit einem Hyperlink der dann die Seite erneut aufruft, wobei die bisher eingegebenen Daten erhalten bleiben. Das ganze ist für ein Kontaktformular gedacht und beruht auf folgendem Code: http://b-projects.mypicsgallery.de/tutorials/7-php/15-kontaktformular-mit-php-erstellen.html

Die Ziel-URL sollte demnach http://www.meinedomain.de/contact.php lauten, wenn ich den Code jedoch genauso verwende erhalte ich http://contact.php was natürlich zu einer Fehlermeldung im Browser führt....
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Ja und wie sieht die Start-URL aus?? Wenn das nämlich ein- und dieselbe ist, dann ist das Tutorial von dir falsch umgesetzt - denn es ist völlig richtig per $_SERVER["SELF_PHP"] auf sich selbst zu verweisen. Das geht freilich in die Hose, wenn du selbst mutwillig noch ein "http://" oder sonstiges davorschreibst.

Und jetzt seh ich auch endlich den Fehler!
<div align="left"><span class="mail"><p>Sie haben folgende Angabe vergessen einzutragen: Name.</span> <a href="/<?php echo $_SERVER["PATH_TRANSLATED"]; ?>" title="zurück">zurück</a></p></div>
...muss werden zu:
<div align="left"><span class="mail"><p>Sie haben folgende Angabe vergessen einzutragen: Name.</span> <a href="<?php echo $_SERVER["PATH_TRANSLATED"]; ?>" title="zurück">zurück</a></p></div>
0 Punkte
Beantwortet von bugg Einsteiger_in (25 Punkte)
Oh Mensch, das wars! Vielen vielen Dank! Auch für deine Geduld! :-)
0 Punkte
Beantwortet von bugg Einsteiger_in (25 Punkte)
...nur die eingetragen Daten gehen natürlich verloren, aber das ist dann wohl ein anderes Problem ;-)
0 Punkte
Beantwortet von
das ist allerdings ungültiges HTML, richtig müsste der Code von son_quatsch so aussehen:

<p align="left"><span class="mail">Sie haben folgende Angabe vergessen einzutragen: Name.</span> <a href="<?php echo $_SERVER["PATH_TRANSLATED"]; ?>" title="zurück">zurück</a></p>


span und p waren komplett falsch verschachtelt, div ist hier überflüssig

Als Linktext solltest du etwas aussagekräftigeres als zurück (wohin?) wählen. Das align="left" ist besser im CSS aufgehoben!
...