Heinz: Per header:location 2 Seiten öffnen möglich?

Hallo,

gibt es die Möglichkeit, über header:location 2 Seiten zu öffnen?

Problemstellung: Der User sendet ein Formular ab, das je nach gewählter  Option eine Antwort und eine zusätzliche Seite öffnen soll. Die zusätzliche Seite soll der User bei Bedarf ausdrucken können.

Ansonsten müsste ich es wohl so machen, dass per Click auf die Checkbox (das ist die Option für das 2. benötigte Fenster) per Javascript ein Onclick-Event auf den Submit-Button gelegt wird. Gefällt mir nur nicht wegen Popupblockern.

Oder fällt sonst noch jemandem eine Problemlösung hierfür ein?

Ciao, Heinz

  1. gibt es die Möglichkeit, über header:location 2 Seiten zu öffnen?

    Nein.

    Problemstellung: Der User sendet ein Formular ab, das je nach gewählter  Option eine Antwort und eine zusätzliche Seite öffnen soll. Die zusätzliche Seite soll der User bei Bedarf ausdrucken können.

    Das ist nur eine Seite.
    Nutze CSS mit media print, um das einzusehen.

    Eine Archivversion ist Pflicht bei Formmailern. Drucken ist nur ein Aspekt. Speichern ist ebenso wichtig.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. gibt es die Möglichkeit, über header:location 2 Seiten zu öffnen?

      Nein.

      Danke.

      Das ist nur eine Seite.
      Nutze CSS mit media print, um das einzusehen.

      Es sind 2 Seite. Sieh' bitte ein, dass Du das aus der Ferne gar nicht wissen kannst.

      Eine Archivversion ist Pflicht bei Formmailern. Drucken ist nur ein Aspekt. Speichern ist ebenso wichtig.

      Du kennst doch meine Formulare und meine User gar nicht! Ich aber kenne sowohl ersteres als auch letzteres.

      Und ich entscheide, wann archiviert werden muss oder gespeichert werden muss.

      Soweit verstanden?

      Also, die Frage bleibt nach wie vor offen.

      Und als Info für Dich: Die 2. zu öffnende Seite ist ein über php generiertes PDF.

      Heinz

      1. hi,

        Es sind 2 Seite. Sieh' bitte ein, dass Du das aus der Ferne gar nicht wissen kannst.

        Du willst die 2 Seiten gleichzeitig haben. Es geht jedoch auch nacheinander:

        Form -> Submit -> PrintSeite -> Schattenseite (-> Sonnenseite)

        Hotti

        1. Du willst die 2 Seiten gleichzeitig haben. Es geht jedoch auch nacheinander:

          Form -> Submit -> PrintSeite -> Schattenseite (-> Sonnenseite)

          Hi Hotti,

          war auch mein erster Gedanke, das über onload zu realisieren.

          Body onload würde aber bedeuten, dass ich bei jeder einzelnen Seite des Projektes unsinnigerweise eine Variable mitprüfen müsste, die bei Vorhandensein das onlad event schreibt.

          In 99,9% aller Fälle würde diese Frage aber negativ beschieden werden.

          Kann ich das onload event auch auf andere Elemente anwenden? Falls ja,. welches böte sich an?

          Heinz

          1. Du willst die 2 Seiten gleichzeitig haben. Es geht jedoch auch nacheinander:

            Form -> Submit -> PrintSeite -> Schattenseite (-> Sonnenseite)

            Hi Hotti,

            war auch mein erster Gedanke, das über onload zu realisieren.

            Und mein erster Gedanke war: das mit Submit zu machen. Mein zweiter Gedanke ist der, dass es auch mit JS funktionieren kann, und zwar unauffällig, sofern der Besucher JS aktiviert hat.

            Hotti

            1. Und mein erster Gedanke war: das mit Submit zu machen.

              Schließt sich aber dadurch aus, dass die Printseite ein PDF ist.

              Mein zweiter Gedanke ist der, dass es auch mit JS funktionieren kann, und zwar unauffällig, sofern der Besucher JS aktiviert hat.

              Das hat er. Ganz sicher :-)

              Ich versuche gerade ein window.onload einzufriemeln, aber das will nicht recht. Vermutlich, weil schon ein body onload existiert.

              Ich müsste also darüber nachdenken, den body onload in einen window.onload zu verfrachten, den dann bei Vorhandensein zwischenspeichern, meionen eigenen window.onload dahintersetzen und beide aufrufen.

              Andere Vorschläge "out there"? :-)

              Grüße, Heinz

              1. Und mein erster Gedanke war: das mit Submit zu machen.

                Schließt sich aber dadurch aus, dass die Printseite ein PDF ist.

                Wieso? Ein Submit zieht die action-Note an und das Srcipt da auf dem Server kann auch auf ne PDF umleiten. Danach gibts jedoch kein HTML mehr.

                Eine zum Drucken formatierte Seite kannst Du jedoch genausogut auch mit HTML/CSS erzeugen.

                Hotti

      2. Das ist nur eine Seite.
        Nutze CSS mit media print, um das einzusehen.

        Es sind 2 Seite. Sieh' bitte ein, dass Du das aus der Ferne gar nicht wissen kannst.

        Und als Info für Dich: Die 2. zu öffnende Seite ist ein über php generiertes PDF.

        Php Interessiert mich hier nicht.

        Wenn die zwei Medientypen zueinander unvereinbar sind, bietet es sich an, das eine in einem <object> oder <iframe> zu versourcen.
        Ein PDF wird allerdings bei mir im externen Reader und nicht eingebettet angezeigt.
        Das stellt dann folgendes Problem:
        Der User betätigt eine Action, erhält aber zwei Aktionen, und das BS muss den Focus dieser oder jener Applikation erteilen.

        In einem solchen Fall könnte mir entgehen, dass hinter dem geöffneten Adobe-Reader noch relevante Antwort in HTML vorliegt.

        Die kontrollierte Art wäre in dem Fall, das PDF normal zu verlinken.

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
        1. Wenn die zwei Medientypen zueinander unvereinbar sind, bietet es sich an, das eine in einem <object> oder <iframe> zu versourcen.

          Iframe war auch einer meiner früheren Gedanken zum Thema. Macht aber wenig Sinn bei einem PDF.

          Das stellt dann folgendes Problem:
          Der User betätigt eine Action, erhält aber zwei Aktionen, und das BS muss den Focus dieser oder jener Applikation erteilen.

          Korrekt. Habe ich auch als Problem erkannt.

          In einem solchen Fall könnte mir entgehen, dass hinter dem geöffneten Adobe-Reader noch relevante Antwort in HTML vorliegt.

          Das stimmt.

          Die kontrollierte Art wäre in dem Fall, das PDF normal zu verlinken.

          Das wäre doch viel zu einfach ;-) Spaß beiseite, das schließt sich leider dadurch aus, dass das Formular keine wirklich Antwortseite erstellt, sondern glecih in eine laufende Projektübersichtsseite einsteigt. Egal, wo der Link dort stünde, er ginge unter.

          Gruß, Heinz

      3. Hi,

        Es sind 2 Seite. Sieh' bitte ein, dass Du das aus der Ferne gar nicht wissen kannst.

        Die Fragestellung allein lässt schon aus der Ferne den Schluss zu, dass allzu viel Ahnung von Webapplikationen nicht vorhanden sein kann.

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
      4. Mahlzeit Heinz,

        gibt es die Möglichkeit, über header:location 2 Seiten zu öffnen?

        Nein.

        Danke.

        [...]

        Also, die Frage bleibt nach wie vor offen.

        Nein.

        Es gibt keine Möglichkeit, "über header:location 2 Seiten zu öffnen". Deine Art der Fragestellung impliziert, dass Du Dich ganz dringend mit Grundlagen von HTTP, HTML-Formularen und deren Verarbeitung auf dem Server beschäftigen möchtest.

        Selbst wenn Du mittels header() zwei unterschiedliche Locations, zu denen der Browser weitergeleitet werden soll, angeben könntest (was schon idiotisch wäre und AFAIK in keinster Weise durch HTTP spezifiziert) ... Du kannst dem Browser in keinster Form mitteilen, was er mit diesen unterschiedlichen URLs tun soll.

        Und als Info für Dich: Die 2. zu öffnende Seite ist ein über php generiertes PDF.

        Das ist IMHO keine "Seite", sondern eine Ressource, die je nach Browsereinstellungen zum Download angeboten oder inline angezeigt wird.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Hello,

          Es gibt keine Möglichkeit, "über header:location 2 Seiten zu öffnen". Deine Art der Fragestellung impliziert, dass Du Dich ganz dringend mit Grundlagen von HTTP, HTML-Formularen und deren Verarbeitung auf dem Server beschäftigen möchtest.

          Selbst wenn Du mittels header() zwei unterschiedliche Locations, zu denen der Browser weitergeleitet werden soll, angeben könntest (was schon idiotisch wäre und AFAIK in keinster Weise durch HTTP spezifiziert) ... Du kannst dem Browser in keinster Form mitteilen, was er mit diesen unterschiedlichen URLs tun soll.

          <ketzermodus>Du kannst aber per header(Location) ein Frameset anfordern. Dieses könnte dann wiederum unterschiedliche URi's anfordern und diese auch in unterschiedliche Frames leiten.</ketzermodus>

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
  2. Hello,

    Hallo,

    gibt es die Möglichkeit, über header:location 2 Seiten zu öffnen?

    Hast Du auch schon einen von diesen neuen Computern mit zwei Bildschirmen?

    Aber weißt Du, was ich bisher nicht verstehe? Was passiert jetzt, wenn auf den beiden Bildschirmen wieder so eine Seite erscheint, die zwei Ziele gleichzeitig aufrufen will? Muss ich dann einh Quad-Core haben, um vier Bildschirme betreiben zu könnnen?

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hast Du auch schon einen von diesen neuen Computern mit zwei Bildschirmen?

      Warum willst Du Dich über die Frage lustig machen, Tom?

      Sie wurde mit "nein" beantwortet und gut ist.

      P.S: Brauchst Du auch für jeden Deiner Brwosertabs einen eigenen Bildschirm??

      Aber weißt Du, was ich bisher nicht verstehe? Was passiert jetzt, wenn auf den beiden Bildschirmen wieder so eine Seite erscheint, die zwei Ziele gleichzeitig aufrufen will? Muss ich dann einh Quad-Core haben, um vier Bildschirme betreiben zu könnnen?

  3. Oder fällt sonst noch jemandem eine Problemlösung hierfür ein?
    Die zusätzliche Seite soll der User bei Bedarf ausdrucken können.

    Dir hilft eventuell:
    http://aktuell.de.selfhtml.org/artikel/css/drucklayout/

    Das führt zur saubersten Lösung:

    Du machst zwei Stylesheets. Einen für den Screen und einen für Print. In dem für Print verbirgst Du alles, was nicht gedruckt werden soll und andersherum.

    1. Oder fällt sonst noch jemandem eine Problemlösung hierfür ein?
      Die zusätzliche Seite soll der User bei Bedarf ausdrucken können.

      Ich habe gerade das mit dem PDF gelesen. Biete auf der gelieferten das PDF als Link (ggf. mit target='_new' an. Du kannst es als Objekt anbieten wenn Du Dir sicher bist, dass der Benutzeragent es verarbeiten kann (geeignetes Plugin?)

      1. Ich habe gerade das mit dem PDF gelesen. Biete auf der gelieferten das PDF als Link (ggf. mit target='_new' an. Du kannst es als Objekt anbieten wenn Du Dir sicher bist, dass der Benutzeragent es verarbeiten kann (geeignetes Plugin?)

        Wird der Link dann mit gedruckt?

        Und behält der Browser seine SessionID im Cookie?

        1. Wird der Link dann mit gedruckt?

          Wieso sollte er? Ich denke, gedruckt wird das PDF?

          Und behält der Browser seine SessionID im Cookie?

          Wieso sollte er dies nicht? Da aber bei Fremdsoftware das Betriebssystem oder "sonstwas" ggf. das PDF selbst abholt und das Cookie dabei vergessen werden kann solltst Du die Session-ID an die URL anhängen und so per get übertragen. So beugst Du auch gleich (in gewissem Maße) Caching-Problemen (auch bei Proxys!) vor.

      2. Mahlzeit ich,

        Biete auf der gelieferten das PDF als Link (ggf. mit target='_new' an.

        "_new"? http://de.selfhtml.org/html/verweise/definieren.htm#zielfenster@title=Sicher?

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|