2016-07-14 22 views
5

Per le ultime due settimane stavo lavorando al salvataggio di un ID di pagina nei cookie e quindi recuperarlo in qualche altra pagina.utilizza la variabile salvata nel cookie con php

Infine ho risolto, ma ora ho qualche altro problema che voglio usare questo id (quello che ho salvato nel cookie e recuperarlo) nel mio codice php.

So che javascript è il codice lato client e php è il codice lato server ma devo farlo. Per favore aiutami con questo.

Questo è il mio codice JavaScript, che sta lavorando molto e ho la id salvato con questa linea "+ value.favoriteid +"

<script> 
 
    /* 
 
    * Create cookie with name and value. 
 
    * In your case the value will be a json array. 
 
    */ 
 
    function createCookie(name, value, days) { 
 
    var expires = '', 
 
    date = new Date(); 
 
    if (days) { 
 
     date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
 
     expires = '; expires=' + date.toGMTString(); 
 
    } 
 
    document.cookie = name + '=' + value + expires + '; path=/'; 
 
    } 
 
    /* 
 
    * Read cookie by name. 
 
    * In your case the return value will be a json array with list of pages saved. 
 
    */ 
 
    function readCookie(name) { 
 
    var nameEQ = name + '=', 
 
    allCookies = document.cookie.split(';'), 
 
    i, 
 
    cookie; 
 
    for (i = 0; i < allCookies.length; i += 1) { 
 
     cookie = allCookies[i]; 
 
     while (cookie.charAt(0) === ' ') { 
 
     cookie = cookie.substring(1, cookie.length); 
 
     } 
 
     if (cookie.indexOf(nameEQ) === 0) { 
 
     return cookie.substring(nameEQ.length, cookie.length); 
 
     } 
 
    } 
 
    return null; 
 
    } 
 
    function eraseCookie(name) { 
 
    createCookie(name,"",-1); 
 
} 
 
    var faves = new Array(); 
 
$(function(){ 
 
    var favID; 
 
    var query = window.location.search.substring(1); 
 

 
\t var vars = query.split("&"); 
 
    for (var i=0;i<vars.length;i++) { 
 
     var pair = vars[i].split("="); 
 
     var favID = (pair[0]=='ID' ? pair[1] :1) 
 
//alert(favID); 
 
\t } 
 
\t $(document.body).on('click','#addTofav',function(){ 
 
    var fav = {'favoriteid':favID}; 
 
    faves.push(fav); 
 
\t var stringified = JSON.stringify(faves); 
 
    createCookie('favespages', stringified); 
 
    location.reload(); 
 
\t }); 
 
    var myfaves = JSON.parse(readCookie('favespages')); 
 
    if(myfaves){ 
 
    faves = myfaves; 
 
    } else { 
 
    faves = new Array(); 
 
    } 
 
    $.each(myfaves,function(index,value){ 
 
     var element = '<li class="'+index+'"><h4>'+value.favoriteid+'</h4> '; 
 
     $('#appendfavs').append(element); 
 
    }); 
 

 
}); 
 
</script>

+3

prova 'print_r ($ _ COOKIE)' hanno anche uno sguardo al http://php.net/manual/en/features.cookies.php –

+0

I cookie vengono memorizzati nel client e inviata al server di . Quindi puoi giocare con gli stessi cookie in javascript e in PHP, ma devi fare una distinzione tra server e client quando sviluppi –

risposta

2

Leggi cookie su php lato è la cosa più semplice dopo averli impostati per js.

Ogni cookie inviato dal client verranno automaticamente inclusi in un auto-globale array $ _COOKIE se variables_order contiene "C". Se si desidera assegnare più valori a un singolo cookie, è sufficiente aggiungere [] a il nome del cookie. A seconda register_globals, variabili PHP regolari possono essere creati dai biscotti

Qui php alcuni esempi:

<?php 
echo $_COOKIE["your cookie name"]; 
?> 

<?php 
print_r($_COOKIE); 
?> 

Non è raccomandato di fare affidamento su di loro come questa caratteristica è spesso spento per motivi di sicurezza.

http://php.net/manual/en/features.cookies.php

+0

Ciao grazie per la tua risposta, il tuo codice funziona ma ho un problema con esso. Ho salvato l'id della pagina e l'URL della pagina nei cookie, quindi quando uso il tuo codice mi dà questo: '[{" ID preferito]: "6", "url": "http: //localhost/viewcookie.php? ID = 6 "}]' – Malekian

+0

cosa posso fare per mostrarmi il numero ID: 6 – Malekian

+0

@ user6362236 https://eval.in/604982 questo dovrebbe aiutare –

1

Se già riusciti a salvare cookie javascript, quindi non dovrebbe esserci alcun problema a riattivarlo in PHP, basta usare $_COOKIE["COKKIE_NAME"] (dove tu naturalmente cambi COOKIE_NAME, al nome del cookie che hai salvato in JS) ..

Dai un'occhiata a t http://php.net/manual/en/features.cookies.php per ulteriori esempi.

+0

hi grazie per aver risposto che il tuo codice funziona ma ho un problema con esso. Ho salvato l'id della pagina e l'URL della pagina nei cookie, quindi quando uso il tuo codice mi dà questo: '[{" ID preferito]: "6", "url": "http: //localhost/viewcookie.php? ID = 6 "}]' Cosa posso fare per mostrarmi il numero ID: 6 – Malekian

+0

Ok, quindi quello che hai memorizzato è un valore JSON, quello che puoi fare è usare [json_decode()] (http: // php. net/manuale/it/function.json-decode.php). Questo lo trasformerà in una variabile PHP utilizzabile. –

+0

non ho capito, per favore spiegami un po 'di più o fai un semplice codice grazie – Malekian