referrer an php seite mit javascript übergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • referrer an php seite mit javascript übergeben

    hallo allerseits,
    irgendeiner eine ahnung vielleicht, wie ich die variable
    PHP-Code:
    $HTTP_REFERER 
    in einer javascript routine unterbringe bzw diese auf der aufgerufenen seite zur verfügung bekomme???
    folgendes funzt net so wirklich sprich gar nicht...

    PHP-Code:
    function openWindow(url,name,style) { 

    <
    a href="#" onClick="openWindow('print.php?referrer='+document.referrer+'','Druckversion','width=600,height=600')">drucken</a
    dankeschoen,
    crisdoe

  • #2
    PHP-Code:
    <?php echo getenv("HTTP_REFERER"); ?>
    ... einbauen in deinen code. wo ist das problem?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      ... wäre ansich auch nich das problem.
      also, ich öffne mit der javascript routine ein neues browserfenster.
      in diesem fenster lädt eine datei, nämlich print.php, diese benötigt aber den referrer bzw. den namen/pfad der aufgerufenen datei.
      leider wird der referrer bei der javascript methode an die print.php nicht übergeben...
      irgendeiner eine idee wie sich dieses bewerkstelligen lässt?

      Kommentar


      • #4
        ich unterstelle Abraxax einfach mal, dass er sowas meinte:
        PHP-Code:
        <a
        href="#"
        onclick="openWindow('print.php?referrer='+
        <?php echo getenv("HTTP_REFERER"); ?>
        +'','Druckversion','width=600,height=600')">drucken</a>
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          ... ok, mein fehler...
          also mal von vorne: ich benutze folgendes script:
          http://www.php-resource.de/forum/sho...?threadid=9778
          und möchte diese print.php über ein javascript in einem neuen fenster öffnen. diese print.php fragt den $HTTP_REFERER ab um die zu druckende seite zu verarbeiten. und hier liegt das problem, das javascript übergibt beim aufruf (onClick) keinen referrer an die print.php die dann dadurch natürlich nicht weiss welche seite es zu verarbeiten gilt.

          also, wie mache ich der durch javascript geöffneten print.php klar durch welche seite diese aufgerufen wurde???

          folgendes ist wohl der relevante code in der print.php
          PHP-Code:
          $read fopen($HTTP_REFERER"rb"); 
          irgendeiner eine idee?

          Kommentar


          • #6
            Original geschrieben von crisdoe
            also, ich öffne mit der javascript routine ein neues browserfenster.
            in diesem fenster lädt eine datei, nämlich print.php, diese benötigt aber den referrer bzw. den namen/pfad der aufgerufenen datei.
            und warum willst du den per javascript übergeben?

            der referer steht dir doch sowieso in einer php-variable zur verfügung. warum willst du den also nochmal zusätzlich übergeben?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              so in der art. aber du musst schon eine korrekte stringverbindung in JS-machen...

              PHP-Code:
              <a
              href="#"
              onclick="openWindow('print.php?referrer='+'<?php echo getenv("HTTP_REFERER"); ?>'+','Druckversion','width=600,height=600')">drucken</a>
              oder

              PHP-Code:
              <a
              href="#"
              onclick="openWindow('print.php?referrer=<?php echo getenv("HTTP_REFERER"); ?>','Druckversion','width=600,height=600')">drucken</a>
              EDIT:
              evtl. müsste noch ein urlencode() eingebaut werden.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                ... leider ist dies bei einen javascript aufruf nicht der fall?!!!
                die durch javascript aufgerufene seite hat keinen referrer!!!!!

                (bei mir zumindest nich....)

                gruss, crisdoe

                Kommentar


                • #9
                  du willst den referer haben, den die phpseite besitzt. wenn du diese direkt aufrufst, wirst du auch keinen referer bekommen.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    ... genau das ist das problem!!!!
                    wie bekomme ich das gelöst?
                    habe jetzt folgende idee:

                    PHP-Code:
                    <a href="#" onclick="openWindow('print.php?referrer=<?php echo $_SERVER['SCRIPT_NAME']; ?>','Druckversion','width=600,height=600')">drucken</a>
                    wie bekomme ich das hin, sodas die print.php damit arbeiten kann?


                    PHP-Code:
                    $read fopen($HTTP_REFERER"rb"); 

                    Kommentar


                    • #11
                      indem du im skript den parameter referrer auswertest
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        so, ich habe jetzt die variable $referrer in der print.php.
                        diese sieht in etwa so aus:
                        PHP-Code:
                        /ordner_1/ordner_2/ordner_3/index.php 
                        das ist natürlich aber nicht der komplette pfad zur datei, wie bekomme ich den kompletten pfad, bzw. wie schreibe ich folgendes um damit diese datei auch geöffnet werden kann?


                        PHP-Code:
                        $read fopen($HTTP_REFERER"rb"); 
                        gruss, crisdoe

                        Kommentar


                        • #13
                          ... wer sucht der findet.

                          $server="http://localhost";

                          $read = fopen($server.$referrer, "r");


                          klappt wunderbar...
                          gruss,crisdoe

                          ps: gibt es eine möglichkeit $server durch z.B soetwas $_SERVER['DOCUMENT_ROOT'] zu ersetzen???
                          $_SERVER['DOCUMENT_ROOT'] funzt aber net...

                          Kommentar


                          • #14
                            bei register globals ON

                            kannst du $DOCUMENT_ROOT verwenden.
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar

                            Lädt...
                            X