<a href="<?php - benötige Hilfe

wofür braucht ihr denn die dateien? es geht nicht um die dateien, sondern darum
wie in der header.php die links definiert werden müssen, damit diese funktionieren
egal auf welcher seite ( egal in welchem ordner ) die header.php eingebunden ist :)

edit:

"Und woher soll PHP wissen in welchem Unterordner die gesuchte Datei liegt? Das musst du im Link schon selber eintippen. "

und GENAU deshalb suche ich eine lösung die vom stammverzeichnis ausgeht UND ich dort die weiteren ordner eingeben kann ;)
 
angenommen die seite in der der link steht liegt in:

/ordner1/unterordner1/unterordner2/seite.html

würde dort stehen:

<a href="seite2.html">blabla</a>

dann würde sie datei seite2.html in

/ordner1/unterordner1/unterordner2/seite2.html suchen

wenn dort steht

<a href="/seite2.html">blabla</a>

dann würde sie datei seite2.html in

/seite2.html suchen


wenn dort steht

<a href="/ordner2/unterordner1/seite2.html">blabla</a>

dann würde sie datei seite2.html in

/ordner2/unterordner1/seite2.html suchen

ich glaube du musst erst verstehen wie ein browser urls verarbeitet...
Ergänzung ()

php brauchst du dazu nicht. wenn es nicht das ist, was du wissen und haben möchtest, dann musst du uns die seiten posten, damit wir dir sagen können was du machen musst, weil ich dann nicht verstehe, was genau du suchst
 
Zuletzt bearbeitet:
Das habe ich gerade mal getestet und für meine Begriffe als funktionierend empfunden:

PHP:
<a href="<?php echo "//".$_SERVER['HTTP_HOST']."/test.php"; ?>" title="Ein Link">GEHTDOCH</a><br />
 
also definitiv wurde post #23 entweder nicht gelesen, oder nicht verstanden,
oder ich habe es falsch ausgedrückt :)

also noch einmal:

- die links stehen in der header.php, diese liegt im stammverzeichnis

- die links in der header.php sollen auf seiten in unterschiedlichen ordnern und unterordnern zeigen

- ALLE seiten integrieren die header.php

- ich möchte die links in der header.php NICHT in der form "http://www.meineseite.de/ordner1/seite1.html"

- links in der form "ordner1/seite.html" oder "/ordner1/seite1.html" gehen natürlich nicht

frage:

wie setze ich das um?


@deliarmin

übertreib mal nicht mit deinen aussagen " du musst begreifen wie ein browser urls verarbeitet",
du begreifst ja nicht mal worum es geht herr von und zu oberschlau.

ich bin kein profi was html und php angeht, das bedeutet nicht das ich dumm bin und von
gar nichts eine ahnung habe.

edit:

@regresion

ich teste das grade mal ;)
 
Zuletzt bearbeitet:
- links in der form "ordner1/seite.html" oder "/ordner1/seite1.html" gehen natürlich nicht

und warum soll das nicht gehen?

ordner1/sete.html, geht natürlich deshalb nicht weil es relativer link ist und er immer von dem verzeichnis ausgeht in dem die datei liegt in der der link steht.

aber das andere ist genau was du suchst

/ sagt dem browser dass er vom document root aus suchen muss und dann geht er von dort aus in den ordner1 und ruft seite.html auf.

Mehr Möglichkeiten gibt es nicht. entweder vom ordner aus suchen in dem ich mich befinde (ohne öffnenden slash) oder vom wurzelverzeichnis aus (mit slash) mehr möglichkeiten gibt es nicht.
Ergänzung ()

herr von und zu oberschlau

Danke. Unglaublich reifes Verhalten. Du scheinst ein sehr ausgeprägtes und weit entwickeltes soziales Verständnis zu haben.
 
sooo...

1. vielen dank an alle ausser deliarmin - schau du mal in den spiegel ;)

2. regression... scheinbar gibt es doch menschen, die verstanden haben was ich
möchte und dazu noch die lösung parat haben. du bist der held und hast meinen tag gerettet :D

vielen, vielen dank an dich :)
 
da habe ich bereits nachgesehen, aber da ich wie gesagt kein profi bin, habe da
niht wirklich durchgeblickt und habe "document root" als einzigen weg gesehen.

nochmal vielen dank ;)
 
PHP:
echo "//".$_SERVER['HTTP_HOST']."/test.php";

Ohne das nun probiert zu haben, aber gibt das nicht sowas aus wie "//www.meineseite.de/test.php"? Was soll das denn für eine URL sein? Wenn du da noch "http:" davor schreibst, ist das genau das selbe als würdest du einfach auf "/test.php" verlinken. Ich unterstütze die Meinung der Leute in diesem Thread, dass der Threadersteller die Lösungen der Leute nicht verstanden hat und den unterschied zwischen relativer und absoluter Pfadangabe nicht kennt.
 
Mit Arrogant triffst du voll in's schwarze deliarmin, da muss ich dir recht geben.

@impressive
Du drückst dich zu ungenau aus (hier im Thread zumindest).
Genauso kannst du mal meine Frage hier "Wieviel Liter Benzin braucht mein Auto?" beantworten.
Dann Häppchenweise Infos: "Es ist rot" .. "schnell".... Viel Glück beim raten ;) So ging's mir beim Lesen des Themas.

Sogar der Thread-Titel ist schon ein Ding für sich.
 
Zuletzt bearbeitet:
Okay, das mit dem // ist vielleicht noch änderungsbedürftig, ich habe das jetzt hier lokal getestet (und komme auf http://localhost/). Wenn ich hier aber das // weglasse, dann erkennt er den inhalt von $_SERVER['HTTP_HOST'] als einfachen Ordner und hängt ihn einfach an den aktuellen Unterordner dran. Durch das // bzw. http:// weiß er aber, dass es das root-Verzeichnis ist. Und egal von wo man den Link aufruft, auch wenn es im 14. Unterordner ist, er zeigt immer auf das root-Verzeichnis.
So habe ich mir das jetzt erklärt und es scheint ja zu funktionieren.
 
Wäre da nicht :

PHP:
<?PHP
define('DIR_IMAGES', 'images/');
define('DIR_HOME', '/');
//Egal von wo, wenn die Daten geladen sind(externe Config Datei oder im Header wie auch immer)
?>
<a href="<?PHP echo DIR_HOME; ?>dateibla.html/php">

besser?
 
Zuletzt bearbeitet:
nun aber auch wenn ich /wasauchimmer.html vom 14. unterordner aus aufrufe zeigt er immer auf root verzeichnis.

und / in eine Variable zu schreiben und dann auszugeben ist ja nichts anderes als gleich / zu schreiben. da brauch ich auch kein php dazu ...
 
-.- haste nicht verstanden wie ich das ganze meinte oder?

Du kannst folgendes machen:

PHP:
<?PHP
define('DIR_14', '1/2/3/4/5/6/7/8/9/10/11/12/13/14/');

//Datei befindet sich im ordner 14: dateibla.html/php
?>

<a href="<?PHP echo DIR_14; ?>dateibla.html/php">

<?PHP // jetzt brauch nicht tausend sachen schreiben, rufe einfach echo DIR_14; auf, und zack... ?>

so finde ich es persönlich viel besser, als das unschöne etwas da oben :D

Ausserdem kann man ohne viel zu machen die Ordner gut verwalten.

Datei im Ordner 3 --> echo DIR_3; bla

Finde ich sauberer.
 
Zuletzt bearbeitet:
gut um die url zu verkürzen. meinetwegen. aber wer hat schon so verschachtelte ordnerstrukturen?
und definieren muss ich es ja doch wieder. also wenn ich nicht zehn seiten oder mehr aus dem gleichen ordner verlinke (es hat ja geheißen verschiedene seiten aus beliebigen ordnern) bringt mir das beim schreiben gar nix und ich erzeuge für eine statische information völlig unnötig last am webserver. und das unschöne etwas da oben ist ja trotzdem noch da. nur halt ein paar zeilen darüber. und reden wir noch nicht einmal über die lesbarkeit des codes. aber jeder wie er mag ...

hab mal folgendes php file erstellt um zu demonstrieren was die einzelnen codeschnipsel machen:
PHP:
<html>
<head>
<title>Url Test</title>
<body>
<a href="<?php echo "//".$_SERVER['HTTP_HOST']."/test.php"; ?>">blabla</a><br/>
<a href="<?php echo "http://".$_SERVER['HTTP_HOST']."/test.php"; ?>">blabla</a><br/>
<a href="/test.php">blabla</a><br/>
</body>
</html>

das erzeugt folgenden HTML Code:

HTML:
<html>
<head>
<title>Url Test</title>
<body>
<a href="//localhost/test.php">blabla</a><br/>
<a href="http://localhost/test.php">blabla</a><br/>
<a href="/test.php">blabla</a><br/>
</body>
</html>

erster Link ist kein richtiger. böse sozusagen.
zweiter ist genau das, was unser lieber Freund nicht haben wollte und dritter ist das, was man normalerweise macht.

Wer möchte kann das in einer .html datei speichern und im Firefox aufrufen und wird beim drüberfahren merken, dass immer die selbe url ausgegeben wird (weil der Firefox den kaputten Link auch noch richtig stellt)
 
Zuletzt bearbeitet:
Nun habe nur auf deinen Post mit den 14 Ordner geantwortet, und eben 14ten Ordner Definiert.

Für eine Datei aus dem Ordner(wer macht auch sowas?) dies so zu benutzen ist natürlich Käse, da haste recht .
Doch wer mehrere Ordner hat, wie Images/artikel images/icons, images/promotion etc wird es halt so nutzen.
So brauch ich mir nicht alles zusammen schreiben wenn ich in irgend einem Ordner bin.
Für includes auch sehr gut zu gebrauchen.

Aber jedem das sein ;)
 
na klar. das ist aber auch was anderes. wenn ich schon ein php file habe und dann noch meine ordner in einer variable definiere (damit ich z.b. den ordner verschieben kann und nur eine variable ändern muss) ok. das mach ich auch, wenn ich ein größeres projekt mache, aber das hat ja nichts mehr mit der ursprünglichen Problemstellung zu tun. Auch wenn mir immer noch nicht klar ist, welches das ursprüngliche Problem eigentlich war...
 
Ich blicke da auch nicht wirklich durch.

Zumal die Problem Beschreibung irgend wie komisch ist :D

Aber "impressive" hat ja jetzt genug möglichkeiten gezeigt bekommen wie man eine Datei aufruft .. hrhr ;)
 
volcem schrieb:
Wäre da nicht :

PHP:
<?PHP
define('DIR_IMAGES', 'images/');
define('DIR_HOME', '/');
//Egal von wo, wenn die Daten geladen sind(externe Config Datei oder im Header wie auch immer)
?>
<a href="<?PHP echo DIR_HOME; ?>dateibla.html/php">

besser?

In dem Zusammenhang wäre vielleicht <base href=".."> sinnvoller: http://de.selfhtml.org/html/kopfdaten/basis.htm#adresse . Das auch als Denkanstoß für den Threadersteller.
 
Zurück
Oben