Aus PHP HTML-Seite aufrufen

Hallo,

weiß jemand, wie man in PHP eine HTML-Seite aufrufen kann?

Hintergrund: Auf einer Internetseite soll ein PHP-Skript abgelegt werden, das von einem Formular aus einer x-beliebigen Internetseite aus aufgerufen werden kann. Nach Beendigung des Skriptes soll nun aber automatisch eine im Formular gewählte Internetseite geöffnet werden.

Gruß

Thomas

Hallo Thomas,
du kannst php und html fast beliebig mischen.
Sprich du kannst dein php script abarbeiten, und danach dein html ausgeben:

<?php doSomething(FOO);
?\> Ich bin HTML oder alternativ kannst du in PHP direkt html ausgeben, mit echo oder print: <?php doSomething(FOO);
print(' Ich bin HTML'); ?\> selbst mischungen sind möglich: <?php if ($istEsSo) {
?\> Ja es ist so <?php } //ende vom if
?\> Vielleicht meintest du aber auch dass du nach dem beendigen eines scriptes auf eine ganz andere Seite springst, das machst mit einem sog. Location Header: <?php doSomething(FERTIG);
Header('Location: [http://www.example.com'](http://www.example.com')); ?\> Hoffe das hat dir weiter geholfen. gruß.thomas > [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Thomas,

das mit dem Mischen wusste ich schon, das hilft mir nur leider nichts, denn wie gesagt, das Skript soll ja Skript sein, das von verschiedenen anderen Seiten aus anderen Domains aus aufgerufen werden kann und aber anschließend ein Rücksprung wieder zur aufrufenden Seite erfolgt.

Vielleicht meintest du aber auch dass du nach dem beendigen
eines scriptes auf eine ganz andere Seite springst, das machst
mit einem sog. Location Header:

<?php :
doSomething(FERTIG); Header('Location: [http://www.example.com'](http://www.example.com')); ?\>

Das wäre eigentlich die Lösung, die ich gesucht habe, allerdings bringt mir das Skript bei verwendung dieses Befehls einen Fehler.
Ich hatte den Befehl in das Skript so

Header('Location: '.$ruecksprungadresse);

eingebaut.

Was mache ich da falsch?

Gruß

Thomas

Was Du falsch machst
Du gehst davon aus, dass wir Deine Beschreibung verstehen.
Ich für meinen Teil kann nur annehmen was Du tun willst.

Mit dem Header verweist Du den Browser darauf dass er zu einer anderen Domain surfen soll - dann nochmal nen Header schicken kannst Du nicht.

Du gehst davon aus, dass wir Deine Beschreibung verstehen.
Ich für meinen Teil kann nur annehmen was Du tun willst.

da stimme ich munichfreak zu

Mit dem Header verweist Du den Browser darauf dass er zu einer
anderen Domain surfen soll - dann nochmal nen Header schicken
kannst Du nicht.

Aber eigentlich sollte das hier das tun was du willst:

<?php doSomething();
Header('Location: '.urldecode($\_GET['backjumpURL'])); ?\> wobei du deinem script die backjumpURL dann als get parameter mitgeben musst. Alternativ könntest auch mal schauen was im REFERER drin steht, denn solltest auch nehmen können. gruß.thomas

Aber eigentlich sollte das hier das tun was du willst:

<?php : doSomething();
Header('Location: '.urldecode($\_GET['backjumpURL'])); ?\>

nein, das geht nicht.
Zumindest dann nicht wenn doSomething() irgendeine Ausgabe hat. Dann bekommste nämlich ne Fehlermeldung a lá
„can’t modify headers - headers already sent“.

Hallo alle zusammen,

ja genau, das ist diese besagte Fehlermeldung, die ich bekomme, obwohl mein Skript eigentlich überhaupt keine Ausgabe auf dem Bildschirm macht, sondern lediglich die Felder aus dem absendenden Formular per Mail verschickt.

Die Idee mit dem „Header“ hätte mir schon gut gefallen, denn irgendwie muß ich ja aus der Domain, in der das Skript liegt wieder in die Domain zurück, die das Skript aufgerufen hat.

@MunichFreak: Vielleicht habe ich mich ja etwas kompliziert ausgedrückt, aber ich versuche es nochmals mit Adressen zur Verdeutlichung.
Es gibt in der Domain www.spd-regen.de eine Seite mit einem Kontaktformular. Da nun bei diesem Webspace leider kein PHP mit dabei ist, habe ich das PHP-Skript, das das Formular weiterbearbeitet auf der Seite www.jusos-regen.de gehostet. Nun sollte natürlich aber bei Beendigung des PHP-Skriptes logischerweise wieder ein Rücksprung zu www.spd-regen.de erfolgen. Dieser Rücksprung aber ist es, der mir momentan dieses Kopfzerbrechen bereitet.

Gruß

Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

also ich verstehs noch immer nicht so ganz
meinst Du damit dass

  1. Du selbst über beide Domains verfügst?
  2. Nach dem Absenden des gleichen Kontaktformulars Du einmal auf der einen und einmal auf der anderen Seite landen willst?

Beschreib doch mal genau das, was für den User passieren soll.
Vielleicht ist eine fixierung auf diesen header falsch.

Hallo Thomas!

„can’t modify headers - headers already sent“.

ja genau, das ist diese besagte Fehlermeldung, die ich
bekomme, obwohl mein Skript eigentlich überhaupt keine Ausgabe
auf dem Bildschirm macht,

header(„http://www.spd-regen.de/“ . $ruecksprungseite);

oder ähnlich sollte es eigentlich tun. Allerdings bekommst Du obige Fehlermeldung nur dann, wenn tatsächlich eine Ausgabe erfolgt ist. Manchmal reicht da ein überflüssiges Leerzeichen oder eine Zeilenschaltung im Quelltext vor dem öffnenden "

Hallo MunichFreak,

meinst Du damit dass

  1. Du selbst über beide Domains verfügst?

Ja, zumindest als Verwalter bzw. Programmierer des Internetauftritts.

  1. Nach dem Absenden des gleichen Kontaktformulars Du einmal
    auf der einen und einmal auf der anderen Seite landen willst?

Ja, genau so soll das funktionieren. Und das noch möglichst einfach, ohne Umwege und ohne Java-Skript oder ähnlichem

Beschreib doch mal genau das, was für den User passieren soll.
Vielleicht ist eine fixierung auf diesen header falsch.

Der User soll von der ganzen Aktion nur das mitbekommen, daß er sein Formular ausfüllt und dann auf den Absenden Button klickt. Anschließend soll er in seiner Domain auf einer Seite landen, die nichts anderes besagt, als daß seine Daten verschickt wurden usw.
Für den User soll der Klick auf absenden genau so aussehen, als würde er einen Link auf die neue Seite anklicken. Davon, daß im Hintergrund die Eingaben des Formulars verschickt werden, soll der User möglichst nichts bemerken.

Gruß

Thomas

Hallo Thorsten,

„Headers already sent“ besagt, dass die Seite eine Ausgabe
hat.

Die Fehlermeldung sollte allerdings auch eine Zeilennummer
enthalten, in der Nähe dieser Zeile findest Du bestimmt eine
Ausgabe.

Die Zeilennummer ist genau die, in der der Header-Befehl steht. Aber Du kannst Dir das Skript ja unter www.jusos-regen.de/send.php mal anschauen, vielleicht entdeckst Du ja was. Momentan habe ich das Problem über 7 Ecken gelöst, ist aber keine schöne Lösung.

Gruß

Thomas

Hi!

steht. Aber Du kannst Dir das Skript ja unter
www.jusos-regen.de/send.php mal anschauen, vielleicht
entdeckst Du ja was.

Nee, kann ich nicht, da ich ja im Browser den PHP-Code nicht einsehen kann. Da bräuchte ich schon den Originalcode.

Gruß, Thorsten