Visualizzazione dei risultati da 1 a 8 su 8

Discussione: newsletter

  1. #1

    newsletter

    salve ho scaricato nella sezione asp la newsletter luke? funziona benissimo solo che ho provato apersonalizzare un po la pagina dove viene visualizzata la conferma della registrazione oppure eventuali errori.

    ho copiato il codice che si trova nella pagina iscrizione.asp e l'ho incollato in una cella, in modo da avere sempre un header sopra ed un footer sotto, e fin qui tutto bene, il problema è che quando simulo un errore, mi visualizza solo l'header sopra il messaggio di errore e basta, mi cancella tutto quello che viene dopo, invece se effettuo la registrazione bene, si vede tutto, lo stesso lo fa se effettuo la cancellazione. come posso fare???


    p.s. l'header e il footer vengono richiamati attraverso il comando #include...


    grazie anticipatamente

  2. #2
    non c'è nessuno che può aiutarmi

  3. #3
    se non ci dici un minimo di errore..


    hai provato a vedere, quando simuli l'errore, se nel codice HTML è scritto qualcosa?

  4. #4
    ciao santino83, grazie per avermi risposto.

    Allora, questo è il codice:
    <%

    var errore = 0;


    var email = new String(Request.Form("email"));
    var azione = new String(Request.Form("azione"));


    var Controlla = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;


    var Cn = new ActiveXObject("ADODB.Connection");
    var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/database.mdb");
    Cn.Open(Sc);


    var Ridondanza = Cn.Execute("SELECT * FROM utenti WHERE email LIKE '" + email + "'");


    if (azione == "S") {

    if (!Controlla.test(email)) {
    errore = 1;
    }
    if (!Ridondanza.EOF) {
    errore = 2;
    }


    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;
    }


    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");
    }


    if (azione == "N") {

    if (Ridondanza.EOF) {
    errore = 3;
    }


    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();%>

    quindi da quel poco che so, il problema è Response.End; perchè ho notato che nelle 2 condizioni, registrazione e cancellazione, non compare quindi mi compare anke il footer sotto, invece se simulo un errore mi chiude li il codice, e quindi non mi visualizza il footer sotto.

    p.s. volevo sapere se si può modificare questo script oppure devo trovarne un altro?

    vi ringrazio anticipatamente

  5. #5
    in che parte l'hai messo questo codice?

    dentro i tag <body></body> o prima del tag <html></html>?

  6. #6
    altrimenti togli i response.end, e dovce deve eseguire azioni che non dovrebbe in caso di errore metti:

    codice:
    if(errore>0)
    {
    
    ................................
    
    }

  7. #7
    il codice l'ho inserito in una cella, perchè avevo strutturato la pagina in questo modo:
    nella prima cella veniva richiamato l'header poi nella seconda il codice e nell'ultima il footer.

  8. #8
    grazie lo stesso ma ho risolto il problema, e funziona benissimo, ditemi però se va bene lo stesso.

    prendiamo ad esempio

    ..... if (errore == 3) {
    Response.Write("Indirizzo email inesistente: impossibile effettuare la cancellazione");
    Cn.Close();
    Response.End;
    }....

    l'ho modificato in questo modo

    ..... if (errore == 3) {
    Response.Write("Indirizzo email inesistente: impossibile effettuare la cancellazione");
    Cn.Close();
    %>

    <%
    Response.End;
    }....

    ho chiuso il codice ho inserito il footer ed ho riaperto il codice, e funziona secondo voi il ragionamento è giusto?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.