url ermitteln über php

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

  • url ermitteln über php

    hi,

    hab jetzt überall in der referenz gesucht und nix gefunden.

    gibt es 'ne möglichkeit, die aktuelle URL der Adresszeile des browsers zu ermitteln??

    hab's mit:
    <?
    $url = getenv("HTTP_REFERER");
    echo $url;
    ?>

    probiert. funtzt aber nicht.

    ???
    $PHP resource 4ever$

  • #2
    <?
    $url = getenv("HTTP_REFERER");
    echo $url;
    ?>

    [/B]
    $url = getenv("HTTP_REFERER"); zeigt von welcher Url der Surfer auf der aktuellen Seite gelandet ist. also falsch.
    Antwort auf deine Frage keine Ahnung

    Kommentar


    • #3
      Code:
      echo $REQUEST_URI;
      gibt alles ab dem documentroot aus - inklusive query
      wäre hier im mom grad: showthread.php?threadid=5410

      Code:
      echo $QUERY_STRING;
      gibt nur die get-parameter aus
      wäre hier im mom grad: ?threadid=5410

      Code:
      echo $SCRIPT_NAME;
      alles ab documentroot ohne get-parameter
      wäre hier im mom grad: showthread.php
      Code:
      echo $SERVER_NAME;
      gäbe hier - na? - richtig: den servernamen aus.
      also: http://www.php-resource.de

      hope that helps
      sonja

      Kommentar


      • #4
        auch noch interessant zur verarbeitung:

        $PHP_SELF:
        gibt dir den Namen der Page inkl. führender Verzeichnisse aus, auf dieser seite also /showthread.php

        wenn du ne page unter http://www.domain.de/unterverzeichnis/script.php liegen hast, spuckt dir die variable konsequenterweise /unterverzeichnis/script.php aus.

        ACHTUNG: Auf Windoof-Kisten gibts da nen Bug - wenn kein Querystring dranhängt ist die Variable witzigerweise LEER!

        Wie man dieses Problem umgeht kannste unter http://reader.continuity.de/PHPC/208,11.php3 nachlesen, da hab ich ein kleines Tut zum Thema abgelegt.


        [Editiert von CAITS PowerCounter am 07-03-2002 um 16:47]
        CAITS MovieBase für Windows - Filme verwalten mit System!

        CAITS PowerCounter - mehr Statistik gibt es nicht!

        Kommentar


        • #5
          ja aber ohne get-parameter

          Kommentar


          • #6
            kannste ja mit querystring-abfrage kombinieren, wir sind ja schließlich flexibel, gelle? ,-)
            CAITS MovieBase für Windows - Filme verwalten mit System!

            CAITS PowerCounter - mehr Statistik gibt es nicht!

            Kommentar


            • #7
              Original geschrieben von CAITS PowerCounter
              auch noch interessant zur verarbeitung:

              $PHP_SELF:
              gibt dir den Namen der Page inkl. führender Verzeichnisse aus, auf dieser seite also /showthread.php

              wenn du ne page unter http://www.domain.de/unterverzeichnis/script.php liegen hast, spuckt dir die variable konsequenterweise /unterverzeichnis/script.php aus.

              ACHTUNG: Auf Windoof-Kisten gibts da nen Bug - wenn kein Querystring dranhängt ist die Variable witzigerweise LEER!

              Wie man dieses Problem umgeht kannste unter http://reader.continuity.de/PHPC/208,11.php3 nachlesen, da hab ich ein kleines Tut zum Thema abgelegt.
              ähm sorry,der bug liegt net bei den browsern sondern in deiner programmierung...

              <form name=login method=post action="<?PHP $PHP_SELF ?>?action=checkformdata>
              oder
              <a href="<PHP $PHP_SELF ?>?">link auf mich selbst</a>
              gibt im quelltext NIE einen pfad an... wie auch? du gibst die variable ja nirgends aus.
              der clou, warum es mit dem querystring funktioniert ist, dass sich MSIE konform zu RFC 2068 verhält und aus
              dem action="?action=checkformdata" dass es von dir erhält eine korrekte URI konstruiert.
              bei netscape z.b. ist das nicht der fall.

              servervariablen haben doch nix mit dem browser zu tun...
              ein simples
              Code:
                  <a href="<? echo $PHP_SELF; ?>?">link auf mich selbst</a>
              sollte dein problem lösen - und bitte nicht echo $php_self - das gibt dann nämlich wieder nix aus...

              [edit]

              kannste ja mit querystring-abfrage kombinieren, wir sind ja schließlich flexibel, gelle? ,-)
              jo klar sind wir flexibel - aber was hat das starten von 2 abfragen statt einer mit flexibilität zu tun?

              [Editiert von WhiteMountain am 07-03-2002 um 19:14]

              Kommentar


              • #8
                autsch, ja, i see, böser fehler ,-)
                ist mir das gleichheitszeichen abhanden gekommen weil ich zu geizig war die paar byte für echo zu verschwenden ,-)

                CAITS MovieBase für Windows - Filme verwalten mit System!

                CAITS PowerCounter - mehr Statistik gibt es nicht!

                Kommentar


                • #9
                  am einfachsten ist und bleibt <?=basename($PHP_SELF)?>
                  mein Sport: mein Frühstück: meine Arbeit:

                  Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                  Kommentar


                  • #10
                    Original geschrieben von Titus
                    am einfachsten ist und bleibt <?=basename($PHP_SELF)?>
                    => was meinst du genau damit??
                    =basename... geht doch nicht.
                    müßte doch $name = basename... heißen, oder??

                    noch was:
                    gibt's eigentlich 'ne möglichkeit dass der counter nicht weitergezählt wird wenn der user im browser refresh drückt??
                    $PHP resource 4ever$

                    Kommentar


                    • #11
                      Zum Nichtweiterzählen bei Reload durch den besucher hab ich dir in deinem anderen Thread schon was geschrieben. Das erledigst du am bequemsten durch eine ordentliche Usererkennung mit Sessions oder Cookies.
                      CAITS MovieBase für Windows - Filme verwalten mit System!

                      CAITS PowerCounter - mehr Statistik gibt es nicht!

                      Kommentar


                      • #12
                        ahh, shit. genau das wollt ich mir ersparen

                        wie man die IP ermittelt und in die DB schreibt,vergleicht etc. weiß ich.

                        nur mit sessions und cookies hab ich noch nix gemacht.
                        kannst du mir da mal ein konkretes bsp. geben??

                        was ist eigentlich wenn der user bei seinem browser die cookies deaktiviert hat?? dann funtzt's aber nicht, oder??
                        $PHP resource 4ever$

                        Kommentar


                        • #13
                          guck dir das mal an, das ist recht gut erklärt:
                          http://develnet.org/tech/tutorials/

                          wenn der user keine cookies akzeptiert muss man ein sogenanntes "fallback" ausführen - entweder manuell oder - so am server enabled - automatisch, aber das steht in dem tutorial genauer erklärt.
                          grüsse,
                          sonja

                          Kommentar


                          • #14
                            hab mir das tut grad durchgelesen. die fallback-methode ist auch nicht sicher schreiben die da.
                            mein fazit:
                            es haben sowieso die wenigsten user cookies deaktiviert. außerdem werde ich sowieso die defaulteinstellung von php verwenden. also im hauptspeicher des client erzeugen.

                            allerdings hab ich das mit den session's noch immer nicht ganz verstanden.

                            ich frage mich generell ob ich das überhaupt benötige.

                            erreichen will ich nämlich NUR folgendes:
                            wenn der user refresh im browser klickt, dann soll der counter nicht weiterzählen. wenn er zB am nächsten tag wieder auf die seite geht soll das aber sehr wohl als neuer zugriff zählen was es ja auch tut.
                            zuletzt bleibt noch das problem mit der weiterleitung von meiner hauptdomain auf die tripod-domain. hier soll der counter natürlich auch immer nur einmal zählen und nicht zwei/dreimal wie es bis jetzt passiert.
                            $PHP resource 4ever$

                            Kommentar


                            • #15
                              Original geschrieben von Metallica
                              hab mir das tut grad durchgelesen. die fallback-methode ist auch nicht sicher schreiben die da.
                              mit der übergabe als getparameter nicht stimmt - kann ich auch nicht leiden.
                              auf der seite is aber auch noch ein tutorial mit einer klasse für ein semiautomatisches fallback ohne cookies, die das übernimmt.
                              die arbeitet sehr gut, und erfordert auch nicht allzuviel "programmierdisziplin".

                              allerdings, wenn du schon schreibst:
                              mein fazit:
                              es haben sowieso die wenigsten user cookies deaktiviert. außerdem werde ich sowieso die defaulteinstellung von php verwenden. also im hauptspeicher des client erzeugen.
                              kannst die "fallbackerei" ja eh vernachlässigen.

                              allerdings hab ich das mit den session's noch immer nicht ganz verstanden.
                              ganz grob gesagt wird beim ersten aufruf von session_start() einfach nur eine eindeutige id erzeugt. punkt.
                              auf dem server wird eine temporäre textdatei für diese id angelegt (in der du gegebenenfalls noch mehr variablen zwischenspeichern kannst)
                              und beim client ein temporäres cookie mit der id (temporär=> nur im arbeitsspeicher=> stirbt sobald das fenster geschlossen wird)
                              bei jedem erneuten aufruf von session_start() wird die temporäre datei auf dem server die zu der id im temporären cookie auf dem client passt ausgelesen. (das geht vorerst mal so lange wie das fenster offen ist, macht mans zu is das cookie weg, gibts keine id, bin ich neuer besucher)
                              mehr isses im prinzip nicht.
                              für dich interessant ist, dass du eine nummer (erreichbar per <?=SID?> ) hast mit der du überprüfen kannst ob der seitenaufruf zu einer "session" also, einem ununterbrochenen besuch auf deiner seite gehört oder eben die seite neu aufgerufen wurde.

                              ich frage mich generell ob ich das überhaupt benötige.

                              erreichen will ich nämlich NUR folgendes:
                              wenn der user refresh im browser klickt, dann soll der counter nicht weiterzählen. wenn er zB am nächsten tag wieder auf die seite geht soll das aber sehr wohl als neuer zugriff zählen was es ja auch tut.
                              zuletzt bleibt noch das problem mit der weiterleitung von meiner hauptdomain auf die tripod-domain. hier soll der counter natürlich auch immer nur einmal zählen und nicht zwei/dreimal wie es bis jetzt passiert.
                              [/B]
                              tja ob du das benötigst is die frage.
                              wenn du überprüfen willst, ob der besucher nun einfach nur neu lädt oder neu zu besuch ist musst du ihn irgendwie identifizieren.
                              ob du da nun manuell eine id erzeugst und die manuell an jeden link, jedes formular usw anhängst oder die session-verwaltung von php nimmst - bleibt dir überlassen.

                              die frage ist eher obs wirklich sooo genau sein muss.
                              ich hab mir grad mal ein paar von den counter-scripts angeschaut - zum grossteil arbeiten die einfach nur mit einer sperre der ip, die genaueren benutzen die sessionverwaltung.
                              mir persönlich wäre es ehrlich gesagt zu umständlich (bzw. das verhältniss von aufwand zu ergebnis zu suspekt) nur um eine zahl hochzuzählen grossartig rumzusteuern - eine gewisse ungenauigkeit lässt sich, so wie ichs sehe (ich mag mich täuschen) ohnehin nicht zu 100% vermeiden.
                              nenn ich die zahl halt "PageViews" statt "Besucher" dann isses net mal gelogen - wenns denn tatsächlich nur drum geht, dass irgendwo eine Zahl rumsteht.

                              was ich nicht ganz verstanden habe ist, wo das problem mit der weiterleitung ist?
                              ruf halt den counter erst auf, wenn der besucher auf der endgültigen startseite gelandet ist - oder missverstehe ich da jetzt was?

                              hmm ich hoff ich hab jetzt grad keinen allzugrossen blödsinn verzapft, man möge mich korrigieren wenn dem so ist
                              grüsse,
                              sonja

                              hmm irgendwas mach ich falsch - meine beiträge sind ständig nen halben meter lang, sorry

                              Kommentar

                              Lädt...
                              X