Newsgroup: it.comp.www.asp
Titolo: Cookies

Chi mi da una mano ??
A me serve sostanzialmente creare un cookies i cui valori provengono da
una form compilata lato utente.
Ora ci sono dei però in mezzo. La form non può venire processata da un
tasto submit ... perchè c'è già un'altro submit all'interno della
stessa form ... quindi ho fatto in modo di prelevare i valori con i
nomi dei capi form da una funzione javascript ... ora qui dovrei creare
un cookies che una volta riempito ... possa successivamente essere
richiamato tramite la proprietà request.cookies di ASP.
Si può fare sta cosa ??
Chi mi dà una zampa :)
Ciao Andrea
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

 Chi mi dà una zampa :)
Ciao,
premetto che non sono un grande esperto di Javascript, ma mi ricordavo
di una pagina di un sito che conteneva un'esempio di come creare un
cookie proprio tramite javascript. Ti posto questa parte.
Spero che ti possa essere di aiuto.
Marco Barontini
*-----------------------------------------------------
4.2 Creating cookies with JavaScript 
JavaScript supplies a built-in object called document.cookie to handle
cookie interaction. 
This object will store all the valid cookies for the given page the
script is running on. 
When you insert a value into document.cookie, a cookie will be created. 
The syntax is identical to that of the HTTP header: 
<SCRIPT LANGUAGE="JavaScript">
document.cookie="foo=bar; path=/; expires=Mon, 01-Jan-2001 00:00:00
GMT";
</SCRIPT>
Bill Dortch at hIdaho Design (
bdo...@hidaho.com
) has the most
comprehensive 
set of functions for cookie management from the Client. 
One such function is SetCookie (all of his functions can be found 
at 
http://www.hidaho.com/cookies/cookie.txt
): 
<SCRIPT LANGUAGE="JavaScript">
function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
</SCRIPT>
This function requires that a name and a value are passed, with all
other parameters optional. 
A sample use of this function could be the following: 
<SCRIPT LANGUAGE="JavaScript">
setCookie("foo", "bar", "Mon, 01-Jan-2001 00:00:00 GMT", "/");
</SCRIPT>
The SetCookie function is more versatile if you wish to make many
cookies, 
or if you want to set the parameters on-the-fly.

Spero che ti possa essere di aiuto.
Il problema e' creare il cookie in jscript lato client e poi leggerlo con
asp lato server. Ci abbiamo provato in tanti ma con scarsi risultati. Per il
momento pare che cookies generati da jscript lato client possano essere
visti solo da jscript lato client, mentre i cookies generati da asp lato
server possano essere visti solo da asp lato server.
Se qualcuno riesce a superare questo limite, faccia sapere.
Ciao
Stefano

 Se qualcuno riesce a superare questo limite, faccia sapere.
Se solo il server che ha generato il cookie e' in grado di leggerlo allora
e' naturale che non siano compatibili, non per il formato ma perche' quelli
generati client side considerano come server l'IP locale e non quello della
macchina remota.
Saluti.
Stefano.

Io invece profondo ignorante di cookies (e mi sono smazzato a cercare
di fare uno cookie client per leggerlo server, senza risultati) sono
riuscito alla fine a giocherellare con i cookie direttamente lato
client interponendo una parte asp che esegue un diretto controllo dopo
quello js.
Ora considerato che con il sistema scrittura js e lettura asp farei un
lavoretto piů fine, ma come me, penso che anche ad altri farebbe comodo
una cosa del genere ... perchč non posti un esempio base di scrittura
js (con questa storia del path) e di lettura asp cosě che tutti lo
possiamo provare e magari raffinare in caso di errore.
Grazie per la collaborazione.
Andrea MORO.



//  The following functions are released to the public domain.
//
//  This version takes a more aggressive approach to deleting
//  cookies.  Previous versions set the expiration date to one
//  millisecond prior to the current time; however, this method
//  did not work in Netscape 2.02 (though it does in earlier and
//  later versions), resulting in "zombie" cookies that would not
//  die.  DeleteCookie now sets the expiration date to the earliest
//  usable date (one second into 1970), and sets the cookie's value
//  to null for good measure.
//
//  Also, this version adds optional path and domain parameters to
//  the DeleteCookie function.  If you specify a path and/or domain
//  when creating (setting) a cookie**, you must specify the same
//  path/domain when deleting it, or deletion will not occur.
//
//  The FixCookieDate function must now be called explicitly to
//  correct for the 2.x Mac date bug.  This function should be
//  called *once* after a Date object is created and before it
//  is passed (as an expiration date) to SetCookie.  Because the
//  Mac date bug affects all dates, not just those passed to
//  SetCookie, you might want to make it a habit to call
//  FixCookieDate any time you create a new Date object:
//
//    var theDate = new Date();
//    FixCookieDate (theDate);
//
//  Calling FixCookieDate has no effect on platforms other than
//  the Mac, so there is no need to determine the user's platform
//  prior to calling it.
//
//  This version also incorporates several minor coding improvements.
//
//  **Note that it is possible to set multiple cookies with the same
//  name but different (nested) paths.  For example:
//
//    SetCookie ("color","red",null,"/outer");
//    SetCookie ("color","blue",null,"/outer/inner");
//
//  However, GetCookie cannot distinguish between these and will return
//  the first cookie that matches a given name.  It is therefore
//  recommended that you *not* use the same name for cookies with
//  different paths.  (Bear in mind that there is *always* a path
//  associated with a cookie; if you don't explicitly specify one,
//  the path of the setting document is used.)
//
//  Revision History:
//
//    "Toss Your Cookies" Version (22-Mar-96)
//      - Added FixCookieDate() function to correct for Mac date bug
//
//    "Second Helping" Version (21-Jan-96)
//      - Added path, domain and secure parameters to SetCookie
//      - Replaced home-rolled encode/decode functions with Netscape's
//        new (then) escape and unescape functions
//
//    "Free Cookies" Version (December 95)
//
//
//  For information on the significance of cookie parameters, and
//  and on cookies in general, please refer to the official cookie
//  spec, at:
//
//      
http://www.netscape.com/newsref/std/cookie_spec.html
//
file://******************************************************************
//
// "Internal" function to return the decoded value of a cookie
//
function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
//
//  Function to correct for 2.x Mac date bug.  Call this function to
//  fix a date object prior to passing it to SetCookie.
//  IMPORTANT:  This function should only be called *once* for
//  any given date object!  See example at the end of this document.
//
function FixCookieDate (date) {
  var base = new Date(0);
  var skew = base.getTime(); // dawn of (Unix) time - should be 0
  if (skew > 0)  // Except on the Mac - ahead of its time
    date.setTime (date.getTime() - skew);
}
//
//  Function to return the value of the cookie specified by "name".
//    name - String object containing the cookie name.
//    returns - String object containing the cookie value, or null if
//      the cookie does not exist.
//
function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}
//
//  Function to create or update a cookie.
//    name - String object containing the cookie name.
//    value - String object containing the cookie value.  May contain
//      any valid string characters.
//    [expires] - Date object containing the expiration data of the cookie.
If
//      omitted or null, expires the cookie at the end of the current
session.
//    [path] - String object indicating the path for which the cookie is
valid.
//      If omitted or null, uses the path of the calling document.
//    [domain] - String object indicating the domain for which the cookie is
//      valid.  If omitted or null, uses the domain of the calling document.
//    [secure] - Boolean (true/false) value indicating whether cookie
transmission
//      requires a secure channel (HTTPS).
//
//  The first two parameters are required.  The others, if supplied, must
//  be passed in the order listed above.  To omit an unused optional field,
//  use null as a place holder.  For example, to call SetCookie using name,
//  value and path, you would code:
//
//      SetCookie ("myCookieName", "myCookieValue", null, "/");
//
//  Note that trailing omitted parameters do not require a placeholder.
//
//  To set a secure cookie for path "/myPath", that expires after the
//  current session, you might code:
//
//      SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null,
true);
//
function SetCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}
//  Function to delete a cookie. (Sets expiration date to start of epoch)
//    name -   String object containing the cookie name
//    path -   String object containing the path of the cookie to delete.
This MUST
//             be the same as the path used to create the cookie, or
null/omitted if
//             no path was specified when creating the cookie.
//    domain - String object containing the domain of the cookie to delete.
This MUST
//             be the same as the domain used to create the cookie, or
null/omitted if
//             no domain was specified when creating the cookie.
//
function DeleteCookie (name,path,domain) {
  if (GetCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
//
//  Examples
//
// end script -->
</script>
****************************************
Aspetto commenti e smentite sulle varie versioni dei browser. Mi interessa
non poco sta' storia dei browser MAC.
Se non ho preso una grossa svista direi che il problema e' risolto ed ero io
che non avevo usato il PATH.
Ciao, Fabio Zed Zamparelli

Grazie mille ... stasera fino al fine settimana (dipende dai bricioli
di tempo che avrò disponibile) sarà mia cura sperimentare il
funzionamento della cosa e riscrivere una parte di quelle pagine che
utilizzano i cookie.
Io avevo risolto così, diciamo che leggevo tramite javascript ...
cancellavo quindi dai request.form o .cookies di asp e in reload
controllavo se form o cookies erano pieni ... se no leggevo da
javascript.


Provato il tuo esempio e funziona ... ora lo testo un pochino e poi lo metto
in circolation :)
Direi che sta cosa toccherebbe postarla al caro amico Bochicchio perchč
abbia a diffonderla su asp-it.
Andrea

Siamo daccordo (con Daniele) che gli posto l'ipotesi di versione per
correggere il bug IE5, ma che potrebbe, per motivi di server, non essere
inclusa a breve nell'articolo che riguarda tale argomento. Io domani vi
posto la mia nuova versione del codice da includere per aggirare il bug, ma
voi mi promettete che lo testate e mi fornite le vostre impressione e/o
correzioni, perche', a quanto pare, il mio IE5 si e' messo a funzionare
normalmente (chissa' che mamma M$ non mi abbia scaricato qualche patch
insieme agli activeX che la autorizzo ad installare sulla mia macchina di
test).
Ciao, Fabio Zed Zampa

Come si fa in ASP a gestire un cookie?
Grazie per gli aiuti
P.S.
Sono molto limitato nel campo...
--
----------------------------
Andrea Melis
ame...@pianeta.it
----------------------------

Usi i metodi
Response.Cookies x crearlo
Request.Cookies x prendere i valori di un cookie gia' esistenza
Es
Lo crei con
Response.Cookies("NOMECOOKIE").Expires = #November 22, 1999#
x dirgli quando scade
Response.Cookies("NOMECOOKIE").Path=""
x stabilire il path a cui si riferisce (generalmente lo lasci cosi' come
l'ho scritto)
Response.Cookies("NOMECOOKIE").Secure = "True / False"
x stabilire se usi una connessione sicura(True) o no (False) (generalmente
False)
Response.Cookies("NOMECOOKIE")("NOMECAMPO")= "Valore"
x stabilire una variabile NOMECAMPO e associargli un Valore in quel cookie
Request.Cookies("NOMECOOKIE")("NOMECAMPO")
che restituisce il Valore di quel NOMECAMPO del COOKIE
spero di essere stato chiaro
--
Taglia
pta...@freemail.it
___ARE YOU INTERESTED IN___
___ WW2 PLANES ??????? ____
http://ww2planes.freeweb.org
______________________________


^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
Moderatore di it.comp.www.asp
Gruppo di supporto: 
http://www.asp-it.com/index.asp?ng
News via web: 
http://www.asp-it.com/newsgroup/news/
^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
iPoint Network 
http://www.ipoint2000.net
 Servizi, siti ed altro!
Personalizza le tue notizie con 
http://www.ipoint2000.net/now