PHP Include fehler

Nicht einmal eine Variante mit cURL würde sauber funktionieren, vergiss es einfach.

Der praktischste Ansatz ist und bliebt der iframe und nein, es muss dabei noch nicht einmal unschön aussehen. Iframes gibts auch ohne eckige Ränder...
 
Das ist in etwa wie als würdest du bei den Nachrichtensprechern ein Bild im Studio aufhängen, so dass es aussieht als wär der Nachrichtensprecher in New York, aber tatsächlich ist er im Studio. Es sieht zwar aus als wär er dort, aber er kann in New York deswegen trotzdem keinen Pups lassen, über den sich die New Yorker aufregen..

Nur so...

Mach nen Bild von einer Dampfmaschine und Zünde den Teil des Bildes an, wo die Kohle zu sehen ist. Deswegen wird dir dein Zug sicher ned los fahren, sondern höchstens dein Bild verbrennen.


...


Anders ausgedrückt: Es könnte zwar funktionieren, dass du dann das Forum siehst, aber sobald du irgendwo im Forum klickst, oder z.B. versuchst etwas zu posten, wird sich deine eigene Webseite fragen "Was soll der scheiss? Willst du mich verarschen? Ich bin doch kein Forum!"
 
Zuletzt bearbeitet:
@PW-toXic: Ähm, ich hab ja ncihts gegen anschauliche Vergleiche, aber treffend ist der nicht...

so bald man was im via PHP-echo eingebetteten Forum anklickt würde der Browser einfach die eigene Seite verlassen und auf das Forum gehen(*)... es ist nämlich im World-Wide-Web nicht ungewöhnlich, dass sogenannte Links zu anderen Webseiten führen. In der Regel denken sich da Webseiten auch nicht wirklich was dabei. Also sonst wäre die Google-Suche ja ganz schön schizophren...

(*) sofern man sich nicht darum kümmert, dass die URLs entsprechend angepasst würden ... aber dann wäre dennoch ein großer Mehraufwand zu betreiben... aber das hab ich weiter oben ja schon erklärt...
 
Das aber hilft dir nichts, wenn (wie üblich) interne Links relativ sind, und nicht absolut. Hier ein Auszug aus dem geparsten PHPBB Code:
HTML:
<a class="forumlink" href="./viewforum.php?f=2">Ankündigungen</a>

Wieso ist mein Vergleich nicht treffend? Es wird hier versucht mit einem einclude den Anschein zu erwecken, man wäre in einem Forum, was aber in keinster Weise der Fall ist, da man nur ein "Bild" davon hat, und nicht das System selbst. Ich sehe jetzt zwar das Forum, aber ich kann im Forum nichts machen. D.h. wenn ich versuche etwas im System zu ändern (Einen Pups lassen), dann passiert rein garnichts. Zumindest nicht in dem System, wo ich etwas ändern möchte.

Der Vergleich ist also durchaus passend -_-
 
Ok, ja, wenn es relative Links sind (über üblich oder nicht üblich braucht man jetzt nicht unbedingt diskutieren), und es bei dem file_get_contents dann die relative Adressierung beibehalten wird (warum sollte sie nicht?), dann kann es das Problem geben, ja.

Was genau dann passiert (404er, falsche Parameter für die Hauptseite, ...) kann man nicht unbedingt wissen, yep.. aber man sieht: Es ist keine Lösung :-)
 
es gibt zwei Möglichkeiten was passiert:
1) Er kommt direkt auf das Forum, ohne dass es in die Seite integriert ist
2) Er bekommt einen 404, weil er das Forum nicht im gleichen Ordner hat wie die aktuelle Seite wo das Forum eingebunden (include) ist.

Aber selbst wenn das funktioniert - das Problem des "Bildes" wird damit nicht gelöst. Man wird nie etwas posten können, geschweige denn mehr als eine Seite in die Webseite integrieren können.
 
3) er kommt auf die Hauptseite, weil das Ziel evtl nur index.php hieß. Die Hauptseite kann mit den GET-Parametern vielleicht was anfangen, vielleicht nicht, kann man nicht wissen wie sie reagiert..
4) die Links ins Forum funktionieren, weil die relative URLs (wie z.B. hier im Forum) mit einem Slash eingeleitet wurden und sich auf das Server-Root beziehen... dann verlässt der Besucher die Seite und ist im reinen Forum
 
Zuletzt bearbeitet:
relative Links können so ziemlich mit allem anfangen, was sie nicht zu einem absoluten Link machen.
Es gibt hier z.B. Links mit "/forum/usercp.php" der gleichwertig mit "usercp.php" wäre... sind beide relativ.
Aber die meisten Links, ja, sind ohne /forum/... aber sie haben auch kein ./ dran, das ist wie gesagt gar nicht notwendig...
 
/forum/usercp.php ist NICHT gleichwertig mit "usercp.php", da "usercp.php" ein relativer Pfad ist, und "/forum/usercp.php" ein absoluter Pfad. Das bedeutet, dass "usercp.php" in Abhängigkeit der aktuellen Seite zu anderen Ergebnissen führt, und der absolute Pfad immer zum gleichen Ergebnis führt...

Ich tu mir echt schwer hier nicht mehr zu antworten, wenn in jedem Post etwas falsches geschrieben wird... Ich glaub ich gebs einfach auf.
 
Es ist hier https://www.computerbase.de/forum/threads/include-fehler.1043423/ exakt das selbe.
/forum/usercp.php ist kein absoluter Link. Der bezieht sich auf den aktuellen Host und ist also auch relativ.

Ein absoluter Link führt auf jedem Host zum selben Ziel.

Die Form "/forum/usercp.php" wird manchmal auch als "root-relative link" bezeichnet, aber niemals als absolut.


Aber im Grunde isses eh Offtopic 2.0 ;-)
 
Zuletzt bearbeitet:
Meine Güte... Wenn du so argumentierst ist der Begriff "absolut" nicht existent, da es das Absolute an sich nicht gibt. Das mag nach der Relativitätstheorie zwar durchaus stimmen (falls diese stimmt), aber im allgemeinen sprachgebrauch hat es eben doch eine Bedeutung:

System: Internet; Kontext: www.example.com
1) http://www.example.com/foo/bar.html
Ist absolut im System
Ist relativ im System aber nicht im Kontext

2) /foo/bar.html
Ist unbestimmt im System (Syntax error)
Ist absolut im Kontext (Domain)
Ist relativ im System zum Kontext (Domain)

3) foo/bar.html
Ist unbestimmt im System (Da die Top Level Domain foo nicht existiert)
Ist absolut im Kontext (Domin + Pfad)
Ist relativ im Kontext (Domain) zum Kontext (Pfad)


Oder mal menschlich verständlich beschrieben:
Es gibt zwei Unterscheidungen zwischen absolut und relativ bei href Pfaden:
1) Absolut im Internet (http://*) und relativ zum Kontext (foo/bar.html, /foo/bar.html)
2) Absolut im System Domain (/foo/bar.html) und relativ zum Kontext im System der Domain (foo/bar.html)
wobei hier der aktuelle Pfad innerhalb der Domain der Kontext ist.
z.B. www.example.com/foo/bar.html: www.example.com ist der System, und foo/bar.html der Kontext.

Folglich ist
/forum/usercp.php ein absoluter Pfad im System http://adhsclan.tk/
und
forum/uzercp.php ein relativer Pfad im System http://adhsclan.tk/ zum Kontext (aktuelle Seite)

Wenn man hier Variante 1) von relativ/absolute verwendet, betrachte ich das mal als eine Themaverfehlung, denn die Problematik ist ja, dass die Links im Forum eben nicht absolut im System der Domain sind, sondern relativ zum aktuellen Kontext. Dadurch gibt es nur eine Möglichkeit für den Kontext um das Forum zu inkludieren: nämlich die inkludierende Seite selbst. Wenn die Pfade nicht relativ in Variante 2 wären, dann gäbe es das Problem aber nicht....



So für heute hab ich genug getrollt :/
 
Zuletzt bearbeitet:
Wenn wir schon vom allgemeinen Sprachgebrauch reden:
  • Ein absoluter Link kann für sich alleine stehen. Er benötigt keinen Bezugspunkt. Er ist vollständig.
  • Ein relativer Link steht nicht alleine für sich und muss in Bezug zu einer gegebenen Adresse betrachtet werden. Er ist unvollständig.

Absolute Links führen unabhängig vom Ursprung (Protokoll, Domain, Server-spezifischer Pfad) immer zum selben Ziel (zumindest mit gewissen nachvollziehbaren Ausnahmen, z.B. wenn man lokale Adressbereiche nutzt oder etwa http://127.0.0.1 ).

Aber die Meinung, dass für die Klassifizierung ob absolut oder relativ die Betrachung des Systems relevant ist, hast du glaube ich ziemlich exklusiv... zumindest decken sich die Google-Treffer nicht unbedingt damit... weil nicht der Webserver löst Links auf, der Webserver kennt sowas gar nicht.
 
Zuletzt bearbeitet:
1668mib schrieb:
Wenn wir schon vom allgemeinen Sprachgebrauch reden:
  • Ein absoluter Link kann für sich alleine stehen. Er benötigt keinen Bezugspunkt.
Das ist falsch. Auch das Absolute ist immer relativ zu einem System. Im Falle von "http://" Links ist das System eben das Internet.

Wenn du im Dateisystem (z.B. Linux) folgendes machst:
cd /var/www, dann handelt es sich um einen absoluten Link im Dateisystem, aber um einen relativen Link in der Computerwelt im Kontext zur konkreten Maschine!
wenn du cd var/www machst, dann handelt es sich um einen relativen Link im System des Dateitsystems zum aktuellen Kontext (current working directory).

Der Unterschied zwischen absolute und relativ ist schlichtweg, dass der relative Begriff zusätzlich zum Bezugsystem noch einen Kontext hat. Daher die Unterscheidung zwischen System und Kontext bei der Klärung der Begriffe.


1668mib schrieb:
Aber die Meinung, dass für die Klassifizierung ob absolut oder relativ die Betrachung des Systems relevant ist, hast du glaube ich ziemlich exklusiv... zumindest decken sich die Google-Treffer nicht unbedingt damit... weil nicht der Webserver löst Links auf, der Webserver kennt sowas gar nicht.
1) Nur weil aber-millionen Menschen rauchen, heisst das noch nicht dass es gut ist. Selbiges gilt für Treffer bei google als auch für Einträge bei Wikipedia.
2) Auch wenn der Webserver im "<a href" Fall nichts auflöst, so tut er es doch bei include, und dort gibt es wie oben die 3 Fälle:
A) Absolut im Internet (Pfad mit http:// davor)
B) Absolut im Dateisystem (Pfad beginnend mit /)
C) Relativ im Dateisystem (Pfad im Dateisystem relativ zum Kontext (cwd();)
Und das gilt auch für den Browser - er unterscheidet ebenfalls zwischen
A) Absolut im Internet (http://)
B) Absolut in der Domain (/*), bzw relativ zur Domain im Internet
C) Relativ zum Kontext in der Domain (foo/bar.html)


Dass du da bei google nichts findest ist nicht überraschend, denn Fall B kann sowohl als relativ als auch als absolut betrachtet werden - in Abhängigkeit des Kontextes von dem man gerade spricht... Wieso der welt-globale Kontext (=Internet) hier aber eine Themaverfehlung ist, hab ich aber bereits erörtert....
 
Dass du da bei google nichts findest ist nicht überraschend
Ich würde dich bitten korrekter zu lesen was ich schreibe. Ich habe geschrieben dass sich meine Google-Treffer nicht mit deiner Meinung decken. Umgekehrt gesagt: Sie decken sich mit meiner. Und das nicht weil ich die Suchbegriffe speziell so gewählt habe...
Jedenfalls habe zu B (also dem unteren B) was gefunden, aber keiner der auf die Idee kommt, das auch nur ansatzweise als absolut anzusehen. Einmal wurde es eben als "root relative" bezeichnet, die anderen haben diesen "Spezialfall" entweder gar nicht erwähnt (dann aber laut Erklärung was absolut bedeutet automatisch relativ) oder direkt als relativen Link eingestuft.

Für Gegenbeispiele (also Seiten die es anders beschreiben) wäre ich aber dennoch dankbar.

1) hat mit dem Thema gar nichts zu tun. Sagen wir es mal so: Ich stelle eine Behauptung in den Raum, du sagst sie sei falsch. Ich finde Quellen, die meine Meinung unterstützen... hmm... irgendwie müsste jetzt was von dir kommen und nicht unbedingt argumentativ...
2) wir reden von HTTP-Links. Ich dachte das war klar. Sorry dass ich für Verwirrung gesorgt habe bei ... hmm... ich suche noch ... sorry find niix... das hat nichts mit irgendwelchen PHP-Dingen zu tun, wichtig ist nur, was im Browser ankommt in Form von HTML-Code

und "/" ist eben in einem Linux-Dateisystem ein entsprechender Anker-Punkt. Im WWW-Umfeld allerdings nicht. Das WWW ist eher mit dem Windows-Laufwerksschema zu vergleichen... (unglaublich, dass das mal für das gut ist... der Laufwerksbuchstabe könnte als Protokoll angesehen werden:
C: = HTTP://
D: = FTP://
E: = HTTPS://
...
meinetwegen auch als Protokoll+Domain...
)


Edit:
Ok ist spät und morgen werde ich eh nich mehr weiterdiskutieren...
Gibt auch Stimmen, die deine Meinung mitvertreten.

Ich sehe es halt aus der Browser-/HTML-Sicht (bzw: Absolut = kein Bezugspunkt notwendig) und nicht aus der (virtuellen) Server-Sicht (virtuell weil /index.html in Wahrheit irgendwo in /......./kundeXYZ/domainA/index.html liegt).
Im Grunde eh wurscht, kommt halt auf die Sichtweise an... Im Grunde haben wir unsere Standpunkte ja ausgetauscht und eigentlich kann keiner - zumindest ich ^^ - nicht mehr zum eigenen Standpunkt beitragen... in diesem Sinne: Gute Nacht
 
Zuletzt bearbeitet:
Es haben einfach zu wenige erkannt, dass diese beiden Fälle unbedingt zu unterscheidne sind, da man sonst nicht weiss wovon man spricht. Nur weil die meisten Leute das nicht erkennen, und es anders sehn, heisst das nicht, dass es richtig ist.

das mit dem "/" ist im XML standard übrigends auch festgelegt... und das ist halt ein Standard
http://www.w3.org/TR/xpath/
Da kannst du alles schön nachlesen, und es ist sehr schön definiert. Nur der 0815 User im Internet bafasst sich sicher NICHT mit der XML Spezifikation. Daher es es nicht verwunderlich, dass dir google etwas anderes sagt, als ich.

Der Begriffe Begriffe "absolut" und "relativ" sind eben leider widersprüchlich, weil sie das gleiche sind, und sich auf immer zwei variablen beziehen: nämlich dem zugrundeliegenden System, das ein Wurzel Element hat, und dem Kontext....

Aber das habe ich jetzt schon oft genug anhand von Beispielen erklärt.
Es ist schon schlimm genug, dass nichtmal die JAVA IO API den unterschied versteht und alles quer durcheinander würfelt, so dass sich keine Sau mehr auskennt.


Geht jetzt nicht ums prollen aber... M.Sc. Informatik (was natürlich keine Garantie für Korrektheit ist....)


An absolute location path consists of / optionally followed by a relative location path.
(XML Spezfikation)
Das zeigt wie blöd diese absolut/relativ - Unterscheidung eigentlich ist.
 
Zuletzt bearbeitet:
So jetzt muss ich nochmal meinen Senf dazu geben... aber letzter Post:
Ein XML-Path hat rein gar nichts mit HTML-Links zu tun.
Natürlich ist bei XML ein Slash die Einleitung für einen absoluten Path (innerhalb dieses XML-Dokumentenbaums).

Und ich glaube dir, dass du nicht prollen willst... ohne dich beleidigen zu wollen, weil ich dich nicht kenne und du ja zumindest auf einer vernünftigen Ebene argumentierst, es gibt auch genug "Trottel" im Informatik-Master... aber das wirst du auch gemerkt haben.

So und nun wirklich gute Nacht.
 
XPATH hat sehr wohl was mit HTML-Links zu tun, da bei HTML-Links genauso wie bei XPath ein vorangehendes / einen domain-absoluten Pfad einleitet....

wie bei xpath bezieht sich ein / absolute Pfad RELATIV zum Dokument... also ist ein absoluter / HTML Link RELATIV zur Webseite (Hostname). Ein relativer HTML-Link ist RELATIV zum Pfad der URL (= Kontext).

Bzw. jetzt brech ich das ganze mal auf das niedrigste sprachliche Niveau herab:
Wenn man den Begriff relativ verwendet, dann muss man immer sagen "zu was"

1) http://* ist relativ zum "Internet"
2) /* ist relativ zum Hostname
3) [^/]* ist relativ zum Pfad

Wenn man relativ in Variante 3 verwendet, ist Variante 2 die absolute Variante zur 3. Variante.
Wenn man relativ in Variante 2 verwendet, ist Variante 1 die absolute Variante zur 2. Variante....

Absolut bezieht sich immer auf ein größeres System, das Subsysteme hat.
Das Internet ist ein System, das Hosts als Subsysteme hat
ein Host ist ein System, da Pfade als Subsysteme hat.


Es ist daher nicht verwunderlich, dass die Pfade von HTML Links sich genauso verhalten, wie der XML Standard es vorsieht - schließlich kommt beides ja von der selben Organisation. Das ist aber ausschließlich eine Frage der Notation! Die verschiedenen Ebenen der Systemabstraktion bleiben davon unangetastet.



... Und da eben die die HTML Links im Forum aus gutem Grund relativ sind, kann man es eben nicht einfach per include einfügen. Und selbst wenn man das Problem löst, scheitert man wieder daran, dass die Links im Forum ja auf das Forum selbst verlinken, und nicht auf die eigene Seite. Dadurch würde man sofort die eigentlich Seite verlassen. Es bleibt einem als nichts übrig ausser iframe zu verwenden, das Forum extern zu verlinken (meist gewählte Variante), selbst ein Forum zu programmieren, oder eine Integrierte Variante zu wählen (z.B. Drupal...)
... Um mal wieder zum Thema zurück zu kommen -_-




Und wieso regt mich das ganze so dermaßen auf? Weil ich noch kein Software System gefunden hab, das klar beschreibt, ZU WAS es relativ sein soll, bzw in welchem System das "absolut" gemeint ist.
.. Relativ zu was
.. Absolut in welchem System
 
Zuletzt bearbeitet:
Zumindest XHMTL ist eine Teilmenge von XML, HTML5 geht leicht darüber hinaus.

Es ist trotz allem so: /forum/index.php?thread=1&post=5 verweist im Dateisystem (ausgehend von Apache2-Standard ohne VHost und spezifischem Redirect) auf /var/www/forum/index.php mit entsprechenden GET-Parameter. Wenn deine Seite, bzw. ihre index.php, aber jetzt, wie so üblich, direkt in /var/www/ liegt und include("forum/index.php") macht, dann geht das schlicht und ergreifend SCHIEF. Die Links innerhalb der index.php vom Forum werden in den seltensten Fällen href="/forum/index.php?thread=5" lauten, sondern eben href="index.php?thread=5"... was korrekt ist, wenn du explizit example.com/forum/index.php im Browser geöffnet hast, aber zu totalem Chaos führt, wenn du im Browser example.com/index.php geöffnet hast und darüber forum/index.php einfügst.
Außerdem bringt zu guter Letzt ja forum/index.php noch einen Haufen Gerümpel mit in Forum von <html>, <head>, <title>, <meta>,<body>,.... und vielleicht sogar ne neue Basedir-Definition, die dann die reguläre Seite komplett schrottet.
 
XPath bezieht sich auf XML-Dokumenten-Knoten und nicht auf andere XML-Dokumente... es geht hier um ganz andere Dinge als bei einem HTML-Link.

Und falls du es noch nicht kapiert hast.

Es handelt sich dabei um von Menschen festgelegte Kategorien, und nicht unbedingt vom System uns aufgezwungene. Aber was absolut und relativ voneinander unterscheidet habe ich glaube ich schon oft genug gesagt...
 
Zuletzt bearbeitet:
Zurück
Oben