ugrás a tartalomhoz

Paraméter átadás JavaScriptből COOKIE-ba

lotanujo · 2011. Jan. 26. (Sze), 17.11
COOKIE-ba szeretném elmenteni a javascriptes adatot.
Arról lenne szó, hogy egy új weboldalamra látogató tag esetén elmentsem egy COOKIE-ba az előzőleg meglátogatott weboldal címét.
Utána amikor regisztrál, akkor tudjam, hogy honnan talált rám.

Ezt hogy valósítsam meg?

<script>
var honnan = document.referrer;
</script>

Ezt a honnan változót hogyan tudom beletenni a COOKIE-ba?

<?
setcookie("honnan","???",time()+60*60*24);
?>
 
1

HTTP_REFERER

Poetro · 2011. Jan. 26. (Sze), 17.38
A változót PHP oldalon is megkapod $_SERVER['HTTP_REFERER'] változóban, nem kell ezzel JavaScript oldalon bűvészkedni.
if ($_SERVER['HTTP_REFERER']) {
  setcookie('honnan', $_SERVER['HTTP_REFERER'], time()+60*60*24)
}
Amennyiben mégis JavaScript-ben akarod, akkor a sütit is ott állítsd be.

// https://github.com/carhartl/jquery-cookie/blob/master/jquery.cookie.js
function cookie(key, value, options) {
    // key and value given, set cookie...
    if (arguments.length > 1 && (value === null || typeof value !== "object")) {
        options = jQuery.extend({}, options);

        if (value === null) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? String(value) : encodeURIComponent(String(value)),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
}
if (document.referrer) {
cookie('honnan', document.referrer, {
  expires: 1,
  path: '/',
  secure: window.location.protocol === 'https:'
});
}
2

Köszönöm

lotanujo · 2011. Jan. 26. (Sze), 20.38
mindkét megoldást!