PHP snippet gesucht

Ronald Nickel

Legendäres Mitglied
Hallo

wie kann ich eine auf der einstiegsseite ermittelte Url-variable später in einem Warenkorb o.ä. wieder abrufen. Ich will einen Referer bei einer bestellung mitgeben. In Coldfusion würde ich den refer in die Application.cfm schreiben und zum schluß dort auch wieder auslesen.

<cfoutput>
<script language="Javascript" src="http://ziel-url.de/referer-list.cfm?var=#application.referer#"></script>
</cfoutput

Wie bewerkstelligt man sowas in PHP?

Gruß Ronny
 
Quick and very dirty:
setcookie("referer",$_SERVER['HTTP_REFERER'],time()+31536000);

Dann kannst Du den Referer später wo auch immer aus dem Cookie referer ($_COOKIE['referer']) wieder auslesen.
Wenn Du für die übrigene Funktionalität aber Sessions benutzt, wäre es sicher eleganter den Referer darüber mit durchzuschleifen.
 
Na das sieht doch schon mal ganz gut aus.
Angenommen ich würde den aufzurufenen Link zum Shop so schreiben:
http://www.shop.de/index.php?refid=4711


wie schreibe ich per php den cookie namens "referer" mit dem Wert "4711"? - Falls er nicht schon existiert! Und wie übergebe ich in einem Script-Link den Wert "4711"?

so oder so änlich
<script language="Javascript" src="http://ziel-url.de?ref=$_cookie(referer)"script>
Hierv soll also die url Variable wieder weitergegeben werden. Immer unter der Voraussetzung das wir uns in eine php-Umgebung befinden

Gruß Ronny
 
Cookies ($_COOKIE) sind Superglobals, sie sind auf der ganzen Seite verfügbar. In ihn schreiben machst du so wie mein vorposter, mit setcookie. Kenn mich mit Cookies nicht so gut aus, deswegen weiß ich nicht wie man prüft ob sie existieren. Denke mal das wird so sein wie bei Sessions, mit einer einfachen if-Abfrage.

Da ein Warenkorb nur solang gefüllt wie der Browser geöffnet ist, würd ich zu Session raten. Sie sind auch global verfügbar aber "sterben" nach dem schließen des Browsers.
Prüfen kannste es so machen:
CODE
<?php

if(!isset($_SESSION['referer'])) {
$_SESSION[referer] = $_SERVER('HTTP_REFERER');
}
?>



Setzen kannste eine Session so: $_SESSION['referer'] = $_SERVER('HTTP_REFERER');

gruß
 
CODE
if (!isset($_COOKIE['refid']) AND isset($_GET['refid']))
setcookie("refid",$_GET['refid'],time()+31536000);




<script language="Javascript" src="http://ziel-url.de?ref=<? echo $_COOKIE['refid']; ?>"><script>
 
wenn du jetzt auch noch einen warenkorb realisieren möchtest, dann wird es mit cookies schnell unübersichtlich, daher würde ich gleich zu einer session raten...
 
Zurück
Oben