Ciao ragazzi io sono molto ma molto inesperto nel campo asp ma stò tentanto di fare una newsletter con l'aiuto di Crescenzo (sul formun flash generale). detto questo ho qualche problema con il codice asp che vorrei modificare (creato da lukeonweb).
Prima di tutto la pagina per iscrizione e cancellazione l'ho ricreata in flash con l'inserimento di due pulsanti (1 cancellazione e 1 iscrizione) quindi bisogna che l'asp ora prenda le informazioni da flash e non più da dreamweaver. Seconda cosa vorrei (per non incombere in problemi) che al momento dell'iscrizione sul mio db venisse inserito anche l'ip del contraente; Nel momento in cui un'utente decide di cancellarsi dalla newsletter vorrei che sul mio db rimanesse lo stesso come disabilitato quindi non cancellato. e come ultima cosa vorrei che al momento dell'iscrizione l'utente ricevesse una mail all'indirizzo da lui specificato per dare la conferma all'inserimento nel mio db.
Lo so che vi chiedo tanto (crescenzo ha una pazienza unica, non so come faccia a sopportarmi quindi lo ringrazio apertamente anche qua!) ma se qualcuno armato di grande pazienza potesse qiutarmi a risolvere questi problemi ne sarei davvero grato.
Posto di seguito il codice asp della mia pagina...
<%@LANGUAGE = JScript%>
<%
/*
Autore: Luca Ruggiero - http://www.lukeonweb.net
Fonte: freeAsp.it - http://freeasp.html.it
*/
// Istanzio una variabile che mi permette di verificare l'inserimento
var errore = 0;
// Recupero l'indirizzo email segnalato e l'azione dell'utente,
// ovvero l'intenzione di iscriversi o di cancellarsi
var email = new String(Request.Form("email"));
var azione = new String(Request.Form("azione"));
// Espressione regolare per un indirizzo email
var Controlla = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
// Apro la connessione al database
var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database.mdb");
Cn.Open(Sc);
// Verifico se l'indirizzo email è già presente
var Ridondanza = Cn.Execute("SELECT * FROM utenti WHERE email LIKE '" + email + "'");
// Caso in cui l'utente decide di registrarsi
if (azione == "S") {
// Imposto le condizioni per la verifica
if (!Controlla.test(email)) {
errore = 1;
}
if (!Ridondanza.EOF) {
errore = 2;
}
// Organizzo l'output per i mesaggi di errore
if (errore == 1) {
Response.Write("Inserisci un indirizzo email corretto");
Cn.Close();
Response.End;
}
if (errore == 2) {
Response.Write("Sei già iscritto alla Mailing list");
Cn.Close();
Response.End;
}
// Apro il recordset ed effettuo l'inserimento
var Rs = new ActiveXObject("ADODB.Recordset");
Rs.Open("utenti",Cn,3,3);
Rs.AddNew();
Rs("email") = email;
Rs.Update();
Rs.Close();
Response.Write("Iscrizione avvenuta con successo");
}
// Caso in cui l'utente già registrato decide di cancellarsi
if (azione == "N") {
// Imposto i casi di errore in fase di cancellazione
if (Ridondanza.EOF) {
errore = 3;
}
// Organizzo l'output per i mesaggi di errore
if (errore == 3) {
Response.Write("Indirizzo email inesistente: impossibile effettuare la cancellazione");
Cn.Close();
Response.End;
}
var Cancella = Cn.Execute("DELETE * FROM utenti WHERE email LIKE '" + email + "'");
Response.Write("Cancellazione avvenuta con successo");
}
Cn.Close();
%>

Rispondi quotando
up?
