INTERNET EXPLORER? Ti consiglio di navigare questo sito con Mozilla Firefox oppure con Google Chrome.

Utilizzare un cookie per memorizzare i dati in un form con Asp

Autore: Luca Ruggiero | Tell a Friend

eBook ASP base
Impara a creare siti dinamici con ASP e VBScript da zero!

Corso ASP
Impara a creare siti dinamici professionali con ASP!

E-Commerce con ASP
Impara a creare un sito di E-Commerce con carrello della spesa!

Molti servizi di posta elettronica ed altri servizi online sono soliti memorizzare la username di un utente nella casella di testo dedicata all'atto del primo login, o al primo login dopo l'ultima pulizia della cache del browser, allo scopo di non dover far ridigitare il dato una seconda volta.

Per mantenere in memoria questo dato è necessario utilizzare un cookie impostando, come nel nostro esempio, la scadenza dopo un giorno, calcolando dinamicamente la data aggiungendo il periodo desiderato.

Si consideri il seguente form Html:

<form method="post" action="test.asp?go=OK">
    <input type="text" name="username" value="<%=Request.Cookies("username")%>">
    <input type="submit" value=" OK ">
</form>
L'attributo value della casella di testo contiene il nome di un cookie che, se presente, avrà il valore dell'ultimo testo digitato al suo interno dall'utente nella visita precedente, ovvero
Request.Cookies("username")
Il codice Asp di seguito riportato viene eseguito solo nel caso in cui la QueryString go abbia valore OK:
<%@LANGUAGE = JScript%>
<%
    if (Request.QueryString("go") == "OK")
    {
        var data = new Date();

        var gg = data.getDate() + 1;
        var mm = data.getMonth() + 1;
        var aa = data.getFullYear();

        var scadenza = gg + "/" + mm + "/" + aa;

        Response.Cookies("username") = Request.Form("username");
        Response.Cookies("username").Expires = scadenza;
    }
%>
Recupero la data attuale ed aggiungo un giorno per far si che il cookie scada domani
data.getDate() + 1
setto la scadenza del cookie in una variabile; assegno al cookie il valore del dato recuperato dal form e definisco materialmente la scadenza
Response.Cookies("username") = Request.Form("username");
Response.Cookies("username").Expires = scadenza;

IN EVIDENZA
HOT LINKS