Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    177

    Script guestbook: vorrei editare i msg

    Allora con questo codice contemporaneamente inserisco con un form i dati e sotto li stampo a video.

    <%@LANGUAGE = JScript%>
    <%
    // Apro la connessione verso il database
    var Cn = new ActiveXObject("ADODB.Connection");
    var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath(".../fpdb/guestbook.mdb");
    Cn.Open(Sc);
    // Recupero i dati dalla tabella via Sql
    var Sql = "SELECT * FROM messaggi ORDER BY id DESC";
    // Utilizzo l'oggetto recordset per generare la paginazione
    var Mostra = new ActiveXObject("ADODB.Recordset");
    Mostra.Open(Sql,Cn,1);
    // Setto una variabile di tipo QueryString per muovermi nella stessa pagina
    // e mostrare a video messaggi diversi
    var pag = parseInt(Request.QueryString("id"));
    // Mi assicuro che il valore passato nella QueryString sia numerico
    if (isNaN(pag) || pag < 1) pag = 1;
    // Finchè non finisce il file continuo il conteggio ed imposto
    // a 10 il numero di record che voglio vengano estratti
    if (!Mostra.EOF) {
    Mostra.PageSize = 10;
    Mostra.AbsolutePage = pag;
    }
    // A questo scopo mi serve un contatore che imposto a zero (0) ed incrementerò in seguito
    var i = 0;
    %>
    <html>
    <title>Mio sito</title>

    <table>
    <form method="post" action="inserisci.asp">
    <tr>
    <td>Nome</td>
    <td><input type="text" name="nickname" size="20"></td>
    </tr>
    <tr>
    <td>Email</td>
    <td<input type="text" name="email" size="20"></td>
    </tr>
    <tr>
    <td>Homepage</td>
    <td><input type="text" name="homepage" size="20" value="http://"></td>
    </tr>
    <tr>
    <td>Città </td>
    <td><input type="text" name="citta" size="20"></td>
    </tr>
    <tr>
    <td>Oggetto</td>
    <td><input type="text" name="oggetto" size="20"></td>
    </tr>
    <tr>
    <td>Messaggio</td>
    </tr>
    <tr>
    <td><textarea name="messaggio" rows="5" cols="30"></textarea></td>
    </tr>
    <tr>
    <td></td>
    <td>
    <input type="submit" value=" Firma ">
    <input type="reset" value="Cancella">
    </td>
    <tr>
    </form>
    </table>

    <table>
    <tr>
    <td>Leggi i commenti</td>
    </tr>
    </table>
    <!-- Creo il ciclo che eseguirà due controlli, la verifica che i record vengano letti tutti
    e che non ne vengano mostrati più di 10 per volta -->
    <%while((!Mostra.EOF) && (i<10)){%> </p>
    <table>
    <td>

    Messaggio di <%=Mostra("nickname")%> (da <%=Mostra("citta")%>
    </td>
    <td>


    <%if((Mostra("email") == "") || (Mostra("email") == "undefined")){%>
    <%}%>
    <%else {%>
    [email="<%=Mostra("]">
    <%}%>

    <%if((Mostra("homepage") == "") || (Mostra("homepage") == "undefined")){%>

    <%}%>
    <%else {%> </font>
    " target="_blank"><font color="#29578E">[homepage]
    <%}%>
    </td>
    </tr>
    <tr>
    <td>

    Oggetto:<%=Mostra("oggetto")%>


    <%=Mostra("messaggio")%>


    Pubblicato in data <%=Mostra("data")%>
    </td>
    </tr>
    </table>


    <%
    i++;
    Mostra.MoveNext();
    }
    %>



    <table>
    <tr>
    <td>
    <%if (pag > 1) {%>&#171;Precedenti<%}%>
    <%else {%>&#171; Precedenti<%}%>
    </td>
    <td>
    <%if (!Mostra.EOF) {%>Successivi&#187;<%}%>
    <%else {%>Successivi &#187;<%}%>
    </td>
    </tr>
    </table>

    </body>
    </html>
    <%Cn.Close()%>



    con questo recupero i dati dal form e l invio al db

    <%@LANGUAGE = JScript%>
    <%
    //Recupero i dati dal form
    var nickname = new String(Request.Form("nickname"));
    var email = new String(Request.Form("email"));
    var homepage = new String(Request.Form("homepage"));
    var citta = new String(Request.Form("citta"));
    var oggetto = new String(Request.Form("oggetto"));
    var messaggio = new String(Request.Form("messaggio"));

    //Scrivo la data
    var oggi = new Date();
    var data = oggi.getDate() + "/"
    + (oggi.getMonth() + 1) + "/"
    + oggi.getYear() + " alle ore "
    + oggi.getHours() + ":"
    + oggi.getMinutes() + ":"
    + oggi.getSeconds();

    //Controllo i campi obbligatori
    if ((nickname == "") || (nickname == "undefined")) Response.Redirect("index.asp");
    if ((citta == "") || (citta == "undefined")) Response.Redirect("index.asp");
    if ((oggetto == "") || (oggetto == "undefined")) Response.Redirect("index.asp");
    if ((messaggio == "") || (messaggio == "undefined")) Response.Redirect("index.asp");

    //Creo la connessione ed il recordset
    var Cn = new ActiveXObject("ADODB.Connection");
    var Rs = new ActiveXObject("ADODB.Recordset");

    //Creo la stringa di connessione
    var Str = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath(".../fpdb/guestbook.mdb");

    //Apro la connessone
    Cn.Open(Str);

    //Apro il recordset, inserisco i nuovi dati, lo aggiorno e lo chiudo
    Rs.Open("messaggi",Cn,3,3);
    Rs.AddNew();
    Rs("nickname") = nickname;
    Rs("email") = email;
    Rs("homepage") = homepage;
    Rs("citta") = citta;
    Rs("oggetto") = oggetto;
    Rs("messaggio") = messaggio;
    Rs("data") = data;
    Rs.Update();
    Rs.Close();

    //Chiudo la connessione
    Cn.Close();

    //Reindirizzo immediatamente l'utente verso index.asp
    Response.Redirect("index.asp");
    %>


    ora vorrei avere una pagina che mi permetta di modificare i messaggi inseriti...ma non so come fare

  2. #2
    Un volta che sai quale record modificare facendo una SELECT con restrizione su ad esempio un id.. Prelevi i dati come quando li stampi.. solo che il risultato delle variabili lo metti nel campo value delle tua form.. semplice no?!
    Poi crei un file di aggiornamento come quello di inserimento che va ad aggiornare il tuo record..


  3. #3
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    177
    Originariamente inviato da neryo
    semplice no?!
    VVoVe: no

  4. #4
    ti crei un link modifica che ti manda ad una pagina "modifica.asp?id=" & id ; in questa pagina fai una "select form tabella where id= id" e ti prendi tutte le info che vuoi (nel tuo caso il messaggio); inserendolo in una textbox contenuta in una form.
    Questo lo puoi editare come, dove e quando vuoi e ci sarà un pulsantino salva che ti aggiorna il db!
    E' quello che ha detto neryo senza file di aggiornamento che non penso servi nel tuo caso!

  5. #5

    e allora?

    modifica.asp come deve essere? rabbini lool

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