Michael: Bitte Hilfe bei Weiterleitung in neues Fenster

Hallo,

bitte euch um eure Hilfe... Komm einfach nicht weiter...

Code:
if($art == "1") {..... usw.
if($art == "2") {..... usw.
if($art == "3") {
 /* Redirect auf eine andere Seite im aktuell angeforderten Verzeichnis */
 $host  = $_SERVER['HTTP_HOST'];
 $uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\');
 $extra = 'KUST03_03_Berichte_bearbeiten.php';
 echo "<meta http-equiv='refresh'  content='0; URL=http://$host$uri/$extra?bericht=$nummer'>";

echo "Location: http://$host$uri/$extra";
 exit;
 }

Die Weiterleitung klappt super, jedoch möchte ich die Weiterleitung in ein neues Fenster bringen da die größe von 800x600pc hat.

Hab Ihr ne Idee?

Viele Grüße

  1. hallo,

    Vermutlich ist es der sehr späten Tageszeit geschuldet, daß du diese Frage stellst.

    Code:
    if($art == "1") {..... usw.
    if($art == "2") {..... usw.
    if($art == "3") {

    Bist du wirklich sicher, daß du drei "if" ineinander verschachteln möchtest? Und bist du sicher, daß "..... usw." eine sinnvolle Angabe ist?

    /* Redirect auf eine andere Seite im aktuell angeforderten Verzeichnis */
    $host  = $_SERVER['HTTP_HOST'];
    $uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\');
    $extra = 'KUST03_03_Berichte_bearbeiten.php';

    Hier versuchst du lediglich, drei Variablen zu füllen

    echo "Location: http://$host$uri/$extra";
    exit;
    }
    Die Weiterleitung klappt super

    Was nach deinem vorgestellten Code-Snippet mehr als unverständlich ist. Du möchtest gerne
       Location: http://$_SERVER['HTTP_HOST']/KUST03_03_Berichte_bearbeiten.php
    erreichen. Aber von welchem Ursprung aus?

    jedoch möchte ich die Weiterleitung in ein neues Fenster bringen da die größe von 800x600pc hat.

    Warum möchtest du das? "neues Fenster" mit der Einschränkung auf eine bestimmte Größe des Viewport bedeutet zwangsläufig, daß du ein Popup öffnen möchtest. Das kriegst du zwar hin, wenn dein PHP-Script auch das zugehörige Javascript generieren kann, aber nicht umsonst verfügen sämtliche aktuellen Browser über Popupblocker, die in aller Regel sogar der "Voreinstellung" gemäß aktiv sind.

    Hab Ihr ne Idee?

    Auja, sogar super viele Ideen ;-)

    Aber wenn du diese Frage auf dein "Problem" beziehst: du wirst wohl Javascript einsetzen müssen - mit allen den Unwägbarkeiten, die es da gibt. Zum Beispiel würde es bei mir nicht in allen Browsern funktionieren, da mein Standardbrowser aus guten Gründen kein Javascript aktiviert hat.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
  2. Hi,

    echo "<meta http-equiv='refresh'  content='0; URL=http://$host$uri/$extra?bericht=$nummer'>";
    echo "Location: http://$host$uri/$extra";

    diese Kombination ist unsinnig. Das zweite echo möchte wohl ein header() sein. Aber selbst dann steht es an einer Stelle, wo es nicht mehr wirken kann (oder höchstens die vielzitierte Fehlermeldung "Headers already sent" zutage fördert), weil bereits vorher eine Ausgabe an den Client erfolgte.

    Die Weiterleitung klappt super, jedoch möchte ich die Weiterleitung in ein neues Fenster bringen da die größe von 800x600pc hat.

    Das ist mit PHP nicht möglich, da PHP serverseitig abläuft und von Dingen wie Fenstern nicht den geringsten Schimmer hat. Sowas musst du in jedem Fall clientseitig lösen, also wohl mit Javascript. Dann nimm dir aber zu Herzen, was Christoph bereits angesprochen hat: Dieses neue Fenster, das du so öffnen möchtest, ist nichts anderes als ein Popup, das wohl in vielen Browsern blockiert wird.

    Überdenke daher lieber dein Konzept. Warum legst du so großen Wert auf eine bestimmte Fenstergröße? Eleganter wäre es, wenn dein Layout flexibel auf die bestehende Fenstergröße eingehen könnte. Denn es kommt noch besser: Auch das Ändern der Fenstergröße durch Javascript ist in einigen Browsern (Firefox, Opera) in der Defaulteinstellung deaktiviert, weil das wohl auch viele Nutzer als lästig empfinden.

    Schönen Sonntag noch,
     Martin

    --
    Der Alptraum jedes Computers:
    "Mir war, als hätte ich gerade eine 2 gesehen."