Referrer auf 2. Seite anzeigen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Referrer auf 2. Seite anzeigen

Beitrag von Wuppi »

Hi

so langsam verzweifel ich :(

Also folgendes: www.platzeck.net -> wenn ihr jetzt draufklickt, seht Ihr einen Link "TestReferrer" dahinter ist euer Aktueller Referrer (phpbb.de sollte es sein - außer ihr lasst das blocken - aber dann müsste ja auch was da stehen *G*). Diese referrer möchte ich jetzt auf die Seite "TestReferrer" mitnehmen ... aber dat geht nicht :(

So schaut das Script in der index.php aus:

Code: Alles auswählen

if ($checker == 1)  { }
  else {
$checker = 1;
$refpp = $_SERVER['HTTP_REFERER'];
}
Wenn die Seite also keinen Referer hat ($checker = 0), wird das else aufgerufen, hier wird checker auf 1 gesetzt und der ref ermittelt.

Das gleiche Seite wird auch bei der info.php aufgerufen (und auf allen anderen seiten - der header ist included) ... aber wenn ich die info.php aufrufe, ist die checker-Abfrage doch = 1 ... demnach dürfte der ref NICHT ermittelt werden (via else), wird er aber doch - als Ref erscheint nur www.platzeck.net - wenn ich von dort zum Main zurückspringe (Logo), dann hab ich die /info.php als ref ;(

Ich ralls nicht :(

Hab darunter auch schon ein "global $checker, $refpp;" gesetzt, aber auch das bringt es nicht.

Wie bekomm ich das richtig hin?

Bis denne
Wuppi


PS: if ($checker != 1) { blabla } hatte ich natürlich auch - nur letzendlich isses ja egal ob == oder !=
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

Wenn Du von www.phpbb.de/bla nach www.domain.de gehst, dann ist der Referer www.phpbb.de/bla

Wenn Du von www.domain.de nach www.domaind.de/index2.php gehst, dann ist der Referer logischerweise www.domain.de

Demnach arbeitet Dein Script korrekt. Auch wenn ich nicht so ganz verstehe, warum du es so umständlich machst, aber das Darf ja jeder so machen wie er will...

Grüße
Dennis
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Eine neue Seite ist bei PHP eine neu Welt - da ist nichts mit global oder so...

Siehe auch http://www.php.net/manual/de/ref.session.php

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Jack9027
Mitglied
Beiträge: 344
Registriert: 05.01.2004 18:46

Beitrag von Jack9027 »

du könntest aber z.B den referer im querrystring der url auf info.php übergeben auch, wenn es dann eigentlich nicht stimmt...
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

@dennis: das ist klar - deswegen will ich den referrer ja in eine Variable abspeichern - beim nächsten Seiteaufruf soll geprüft werden ob die Variable gefüllt ist => Ja: dann kein referer erfassen (da würde der referer von einer Fremden Seite ja gelöscht), Nein: erfasse den Referer!

Daher so "kompliziert" ... und das script arbeitet halt nicht korrekt: wenn ich hab doch die $checker Variable reingesetzt - sobald ein Referrer erfasst wird, wird der Wert auf 1 gesetzt - beim Menuwechsel wird die $checker abgefragt - da gefüllt, müsste das script hier eigentlich abbrechen - tuts aber nicht.

Ich hab gestern mit diesen Globals $ref usw. etwas rumgespielt - irgendwann hatte ich auf der info.php den google-Referer drauf (hab mich immer von google auf die Hauptseite verbunden - damit ich nen testbaren ref hab) ... nur beim aufräumen (der code war mit div. Testvariablen usw. sicher 5mal so groß wie das zeug was ich hier gepastet hab!) hab ich etwas zu viel gelöscht - seitdem bekomm ich das nicht mehr hin :(

@Jack: nee ... da müsste ich den Referer ja ständig in der URL haben -super ;) .. die Seite sollte SuMa-Tauglich sein ;) und da kann ich nichts variables in den URLs gebrauchen.

Die Idee war doch, das sich jemand auf die Seite kommt (z.b. von google), dann geht er alle Menus ab, und dann geht er neugierigerweise auf die info.php und sieht dann den GOOGLE-Referer ...

Bis denne
Wuppi
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Die $checker Variable ist auf der zweiten Seite uninitialisiert. Da hilft kein global oder sonst was - du musst sie entweder explizit übergeben oder über die Sitzungsverwaltung machen.
Ich würd's über die Sitzungsverwaltung machen - dann kannst du auf die Variable auch nach x weiteren Seiten zugreifen, ohne sie jedes Mal übergeben zu müssen.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi

übergeben ist ja kein thema ... der code steht in der header-Datei - die wird auf jeder Seite included.

Wie initialisiere ich den eine variable!?

Wenn ich mit Sessions-Arbeite (hab ich noch nie gemacht), hab ich doch diese $sID in jeder URL hängen?!

Bis denne
Wuppi
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Schau dir vielleich das noch mal an: http://de3.php.net/manual/de/language.v ... .scope.php

Das Problem ist folgendes: die index.php und die info.php (oder wie auch immer) sind für PHP zwei verschiedene Welten - und zwischen diesen Seiten werden keine Variablen transferiert (da kannst du includen, was du willst). Sprich: beim Aufruf der info.php sind erst mal alle Variablen leer. Du kannst dann aber aus den vordefinierten Variablen (siehe http://de3.php.net/manual/de/language.v ... perglobals ) Informationen rausziehen und die verwenden.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Antworten

Zurück zu „Coding & Technik“