Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 56

Discussione: Eliminazione Utente

  1. #1
    Utente di HTML.it L'avatar di Girogio
    Registrato dal
    May 2007
    Messaggi
    366

    Eliminazione Utente

    Ciao ragazzi...
    Vorrei se possibile una dritta per farsì che un utente registratosi alla newsletters si possa in qualsiasi momento cancellare, visto e considerato che le direttive UE impongono una cosa del genere!!!
    Come mi consigliare di fare???
    Grazie.


    Giorgio.

  2. #2
    All'atto della registrazione dell'utente genere un codice stringa randomico, ad esempio di 10 caratteri, che salvi in un campo apposito della tabella utenti.
    Ad ogni email ricevuta dagli utenti, aggiungi un collegamento al sito verso una pagina alla quale in queryString passi l'indirizzo email e il codice randomico.
    La pagina recupera i dati e verificata la corrispondenza, esegue una delete dalla tabella utenti.

  3. #3
    Utente di HTML.it L'avatar di Girogio
    Registrato dal
    May 2007
    Messaggi
    366
    Mems io ti ringrazio per la tua solita disponibilità....
    maròòò
    mi sà che evito di dare la possibilità agli utenti di eliminarsi dalla newsletters, perchè non saprei da dove iniziare.
    Grazie davvero Mems!!

    Giorgio.

  4. #4
    Ma no.
    Dai, la stringa la generi con questo codice:
    codice:
    GUID = Server.CreateObject("Scriptlet.Typelib").GUID
    response.write GUID

  5. #5
    Utente di HTML.it L'avatar di Girogio
    Registrato dal
    May 2007
    Messaggi
    366
    Mems questa è una stringa univoca giusto vero??
    Il problema è che non sò come applicarla nella mia pagina newsletters.asp, dai non voglio approfittarmi troppo della tua disponibilità; non preoccuparti, credevo che era più semplice farlo....prima magari studierò un pò...
    Grazie infinite
    Giorgio.

  6. #6
    Posta il codice della registrazione alla newsletter e quella che invece invia le newsletter via email (quest'ultima, però, deve inviare mail univoche, senza mettere tutti i destinatari nel campo BCC).
    Aggiungi alla tabella degli utenti un campo di tipo testo e con nome GUID.

  7. #7
    Utente di HTML.it L'avatar di Girogio
    Registrato dal
    May 2007
    Messaggi
    366
    Allora Mems ho riflettuto un pò su quello da te detto e ti dico (voglio arrivarci io col tuo aiuto):

    io ho una pagina "newsletter.asp" dove ho il form di registrazione dell'utente mediante l'inserimento del suo indirizzo e-mail. Questa pagina poi và ad un'altra, che elabora i dati raccolti e la inserisce nel db, che è la pagina "Adduser.asp" (Stiamo parlando di quella pagina di cui tu l'ultima volta mi hai fornito il codice per fare il controllo mediante la funzione fixsql).

    Poi come amministratore ho fatto una pagina Mailing.asp dove mi visualizzo la lista degli iscritti e dove mando la mail agli iscritti.Qui tramite sql=delete*............elimino le email che voglio!!!
    Ora tornando a noi e a ciò che vorrei applicare, mi pare di capire che dovrò modificare la pagina col form, e la pagina che processa i suoi dati.Giusto????
    Nella pagina Adduser (che processa i dati da inserire nella form) dove devo aggiungere il codice
    codice:
    GUID = Server.CreateObject("Scriptlet.Typelib").GUID
    ???
    Al momento che apro la connessione, quando la chiudo...quando..
    è inutile non ci stò a capire na mazza!!!

    Meglio che vò a letto e domani ci perdo un altro pò di tempo..
    Ciao.
    Giorgio

  8. #8
    Utente di HTML.it L'avatar di Girogio
    Registrato dal
    May 2007
    Messaggi
    366
    Cercando sul forum ho trovato qualcosina.
    Il codice utilizzato è il seguente.
    Mandando la mail all'utente che si è iscritto, alla fine di quest'ultima inserisco qualcosa di questo tipo:

    codice:
    http://www.miosito.est/newsletter/cancellati.asp?id=<%=recordset("id")%>
    così chi vuole eliminarsi dalla newsletter clicca su quell'indirizzo; da qui quindi
    alla pagina che processa i dati con questo codice:

    codice:
    <%
    id = Request.QueryString("id")
    
    set conn = server.CreateObject("ADODB.Connection")
    conn.open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "& server.MapPath("/mioDb/***mdb"))
    
    set recset = server.CreateObject("ADODB.Recordset")
    
    //cancello il record dal db
    set recset = conn.execute("Delete from ***where id="&id)
    
    %>
    Potrebbe andare bene una cosa del genere???
    Un'altra cosa per associare il campo email al Id in modo che così è sicuro che ad ogni id corrisponda un solo e-mail andrebbe bene così:

    codice:
    set recset = conn.execute("Delete email from ***where id='"& Id& "'")
    Che ne pensi Mems???
    Sto a sparare ..azzate???
    Ciao.
    Giorgio

  9. #9
    Con questo tipo di link:
    chiunque può passare qualsiasi valore numerico cambiandolo sulla barra degli indirizzi causando la cancellazione di altri utenti.

    La logica che devi seguire è questa:
    L'utente compila la form per registrarsi alla newsletter e preme invio.
    I dati passano alla pagina asp che li riceve. Assieme ai vari request.form metti quel codice che ti ho dato, quello del GUID.
    Salvi i dati nel database, compresa la variabile GUID in un campo (ad esempio) di nome GUID di tipo testo.

    La pagina che invia le email agli utenti aggiunge a fine newsletter una stringa URL per cancellarsi:
    codice:
    http://www.miosito.est/newsletter/cancellati.asp?id=<%=recordset("id")%>&email=<%=recordset("email")%>&guid=<%=recordset("GUID")%>
    cancellati.asp riceve i tre dati, ovvero id, email e guid
    fai una query sulla tabella utenti per verificare se tutti e tre i dati corrispondono ad un solo utente. Se corrispondono allora fai la delete basandoti anche sul solo valore id.
    codice:
    sql = "SELECT * FROM utenti WHERE [id] = " & id & " AND email = '" & [email] & "' AND [GUID] = '" & guid & "'"
    set rs = conn.execute(sql)
    if not rs.eof then conn.execute("DELETE * FROM utenti WHERE [id] = " & id)
    rs.close
    set rs = nothing

  10. #10
    Utente di HTML.it L'avatar di Girogio
    Registrato dal
    May 2007
    Messaggi
    366
    :master:
    Uhm...ok ci stò provando.
    Forse adesso credo di aver capito, certo lo hai praticamene scritto tutto il codice??!!!
    Un'ultima cosa che mi sfugge però è:
    sto campo Guid lo devo passare anche nel form???
    No giusto???
    Solo nella pagina che processa i dati..
    Quindi in pagina che processa questi azzo di dati:
    dimensiono GUID:
    codice:
    DIM NewEmail, GUID, privacy, errore, messaggio
    e poi
    codice:
    GUID = Request.Form("GUID")
    NewEmail = Request.Form("email")
    NewEmail = Request.Form("email")
    privacy = Request.Form("privacy")
    errore = false
    messaggio = "
    
    Attenzione:</p>
    "
    Poi salto tutto quello che ci sta in mezzo ed arriviamo all'aggiunta record in db:

    codice:
    objRec.AddNew
            objRec("email")    = NewEMail
            objRec("GUID")    = GUID
            objRec.Update
            response.write("
    
    Benvenuto e grazie per esserti iscritto!</p>")
    	    response.write("
    
    Per riceverai  le ultime novità inerenti la nostra Offerta Formativa, conferma l'iscrizione all'indirizzo di posta elettronica appena sottoscritto.</p>
    ")
    	    response.write("
    
    Lo Staff A.N.F.E. Siracusa</p>")
    Spero che fin qui ho capito bene.
    Poi alla pagina cancella_newsletter.asp

    codice:
    sql = "SELECT * FROM **** WHERE [id] = " & id & " AND email = '" & [email] & "' AND [GUID] = '" & GUID & "'"
    set rs = conn.execute(sql)
    if not rs.eof then conn.execute("DELETE * FROM ***** WHERE [id] = " & id)
    rs.close
    set rs = nothing
    Ovviamente per finire aggiungo alla pagina da qui io invio le newsletter il codice sempre da te postato:

    codice:
    http://www.miosito.est/newsletter/cancellati.asp?id=<%=recordset("id")%>&email=<%=recordset("email")%>&guid=<%=recordset("GUID")%>
    Ho capito bene quello che devo fare???
    Certo se intanto ci provavo invece di scriverlo qui sul forum era meglio, così vedevo in diretta se andava o no...cmq
    Mems grazie.
    Senza di te.. vabè poi sembra che ti faccio le sviolinate....
    Grazie tante!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.