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) {%>«Precedenti<%}%>
<%else {%>« Precedenti<%}%>
</td>
<td>
<%if (!Mostra.EOF) {%>Successivi»<%}%>
<%else {%>Successivi »<%}%>
</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

Rispondi quotando
VVoVe: no
